реклама на сайте
подробности

 
 
> Таймер на ATxmega32E5
Alexey_N
сообщение Feb 7 2018, 15:20
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 308
Регистрация: 12-05-05
Из: мск
Пользователь №: 4 943



Я хочу казалось бы не так много - иметь с ноги PD5 меандр от таймера 5.
ПДФ вещает, что к этой ноге прибит выход OC5B, что казалось бы воодушевляет.
Программирую его на выход.
Программирую регистры Таймера:
TCC5.CTRLA = 0x01; // Prescaler: Clk
TCC5.CTRLB = 0x01; // Mode of operation = "Frequency"
TCC5.CTRLE = 0x04; // CCBMODE = 01 => Ch B = Output compare enabled
TCC5.INTCTRLA = 0x00; // Interrupt disabled
TCC5.CCB = MEANDR_PER; // MEANDR_PER = 410 => F = 100 kHz
Остальные регистры не трогаю.

Нет импульсов, хоть тресни...
Может там какая-то всем известная закладка должна быть, или я просто туплю по-чёрному?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alexey_N
сообщение Feb 12 2018, 15:19
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 308
Регистрация: 12-05-05
Из: мск
Пользователь №: 4 943



Цитата(zombi @ Feb 9 2018, 18:49) *
Кстати, а почему TCC5.CTRLA = ...? может нужно TCD5.CTRLA = ... и т.д. раз Вам частота на порту D нужна



Цитата(beard42 @ Feb 9 2018, 22:59) *
О точно! Там же все настройки в TCC5 пишутся вместо TCD5.


АХРЕНЕТТЬЬЬ!
Таки-действительно да!!!
То есть везде заменил TCC5. на TCD5., и тут же всё заработало...
Господа, вам - огромное мерси, вы реально спасли мой заблудший мосх!
sm.gif)))

Однако остаётся непонятка, - почему же так?? Я уже сто лет юзаю эти Хмеги, и везде пользовался настройками таймеров с префиксами ТСС, а оказывается есть ещё и TCD...
Это где-то описано? И что означает сия аббревиатура? Неужели на каждом порту свой таймер сидит?
Как это всё понять?

//////
Что в результате получилось:
TCD5.CTRLA = 0x01; // Prescaler: Clk+
TCD5.CTRLB = 0x01; // Mode of operation = "Frequency"
TCD5.CTRLE = 0x04; // CCBMODE = 01 => Ch B = Output compare enabled
TCD5.CCA = MEANDR_PER; // ВОТ ИМЕННО ЭТОТ РЕАЛЬНЫЙ ПЕРИОД И ПОЛУЧАЕТСЯ! (Почему регистр А, если я шевелю ногу В?)
TCD5.CCB = 0; // А этот регистр должен иметь любое значение от 0 до TCC5.CCA, иначе вообще нет импульсов. На Период не влияет никак. (Вообще непонятно!)
Вот.
Go to the top of the page
 
+Quote Post



Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 3rd September 2025 - 03:44
Рейтинг@Mail.ru


Страница сгенерированна за 0.01379 секунд с 7
ELECTRONIX ©2004-2016