Свежие обсуждения
Микроконтроллеры

AVR начинающим - вопросы и ответы

1 34 68

Digital: с этим 123 пресловутым уже уставать начинаю
Г-н Digital, а Вы не чувствуете, что вечно только с ним и разговариваете? Этот Fanio - опять же он... Вы лучше определитесь - устали ли от него, или не очень.. А то мы тут "отрезаем головы", а они снова вырастают, потому что у них есть собеседник...

 

Левон: Fanio - опять же он
Да, понял я это сегодня. Ну больше мне по теме нечего полезного написать. Я умолкаю.

 

Что-то Любитель текст забыл написать, бывает

 

Вот какой вопрос. Допустим, я в один прекрасный момент запускаю таймер Т/С0. Пусть он у меня досчитает, ну например, до 200; потом я его останавливаю (записываю в ТCCR0 число 0). Далее, через какое-то время опять его нужно запустить (например, запишем TCCR0 число 0b00000101, т.е. делим частоту на 1024). Вопрос: таймер начнет считать с 201 или с нуля?
Спасибо

 

Таймер0 продолжит счёт, если, конечно, "вручную", где-нибудь в программе, после остановки таймера, не обнулить/изменить содержимое счётного регистра TCNT0.

 

Спасибо. Также себя ведет и T/C1 (речь веду об tiny2313), судя по всему?

 

Да. Кроме того Т1 может считать до 2^16. Вообще эти таймеры ведут счёт (инкременируют, т.е. увеличивают на единицу, в частности, значение в TCNTx) с приходом каждого тактового импульса от предделителя таймера. Нет этих тактов - нет и счёта, а состояние TCNTx не меняется в это время.

 

Выходит, что если у него глубокий сон, то ... нет счета? А если Idle?

 

Про idle-режим лучше посмотреть в управлении электропитанием, что там за особенности для конкретного МК. Не углублялся в данный вопрос, "гнать туфту" не хочу

 

Господа, CodeVisionAVR и Vista не друзья, товарищи..? Или надо ставить новые версии CVAVR?.. Кто решил эту проблему, поделитесь опытом.