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

 
 
> как сделать счетчик на Timer B?, как сделать счетчик на Timer B?
cornflyer
сообщение Nov 30 2006, 10:55
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 166
Регистрация: 11-07-06
Из: Dubna
Пользователь №: 18 729



Задача: посчитать импульсы на входе TBCLK (pin 83) за 1 сек. Импульсы приходят асинхронно от датчика.
По прерыванию Basic Timer'а (срабатывает каждую секунду) читаю TBR.

Но в мануале написано:

"When the timer clock is asynchronous to the CPU clock, any read from TBR should occur while the timer is not operating or the results may be
unpredictable."

т.е. прежде чем прочитать содержимое регистра счетчика TBR, его нужно остановить. И вообще как включить режим счетчика не написано. Ладно, включаю мозГ и пытаюсь привести все в систему =>

Управляющий регистр таймера B - TBCTL:
1 / Биты TBSSELx поставил в 00, т.е. выбрал Timer_B clock source = TBCLK.
2 / Биты MCx поставил 10, т.е. выбрал Continuous mode: the timer counts up to the value set by CNTLx.
3 / Биты CNTLx поставил 00, т.е. разрядность счетчика 16-bit, TBR(max) = 0FFFFh.

Если выставить биты MCx в 00, то получим "Stop mode: the timer is halted", т.е. таймер типа остановлен.

Так значит мне перед чтением надо обнулять биты MCx в регистре TBCTL !?

Всем спасибо за внимание и поддержку!!!!

Сообщение отредактировал cornflyer - Nov 30 2006, 10:56
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 18:35
Рейтинг@Mail.ru


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