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

 
 
> А симулятор то оказывается знает не все!, AVRStudio, 16-bit Timer/Counter1
M_A
сообщение Sep 20 2005, 07:33
Сообщение #1


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

Группа: Свой
Сообщений: 153
Регистрация: 27-12-04
Из: г. Иркутск
Пользователь №: 1 689



Расскажу про грабли, на которые сегодня наступил, чтоб другие не наступали.
Я пока начинающий, по этому профи это все может быть давно известно, а вот новичкам как я пригодится.
Значит так:
Девайс at90s2313, но думаю справедливо для любого с 16-битным счетчиком.
Завожу я 16-битный каунтер, он начинает тикать. Выгребаю постоянно его значения из TCNT1H, сравниваю, не натикало ли столько сколько мне нужно, если да, переключаю одну из ног в противоположное положение и записываю нули в TCNT1H и TCNT1L, чтоб заново считал....
В симуляторе в AVR Studio все пашет. Заливаю в МК - шиш!
Полдня парился, пока не залез в даташит и не прочитал, что при записи в TCNT1H и TCNT1L сначала нужно обязательно писать в TCNT1H, а при чтении наоборот, первым читать TCNT1L. Причем TCNT1L вообще не пишется, пока не запишешь че-нить в TCNT1H, то есть нельзя в него по отдельности писать. С чтением наверное то-же, не проверял.
Сделал, как написано - воркает!!! А симулятор молчал паразит!
Мораль: не пологаться на 100% на симулятор, и побольше читать даташиты...
Go to the top of the page
 
+Quote Post



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

 


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


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