Проблема со старшими регистрами

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Встал на лапы
Сообщения: 95
Зарегистрирован: Ср ноя 02, 2011 15:11:49

Сообщение mich91 »

Програмирую а КодеВижн 205 спидометр на мото,а моделирую в протеусе78,сделал вот так:
1.настроил 2байтный счетчик на 10кГц счета
2.поставил прерывание по захвату
В протеусе поставил генератор частот на 1 Гц на ножку захвата таймера, и по идее регистры старшый и младшый должны содержать значение равно в 10000.Но вот только младшый регистр работает,тоисть его значение меняются, а старшый почему то всегда в ноле .И это не только старший регистр захвата ,а и регистр самого счетчика почемуто всегда в ноле (
Вот почему этот код на экране выводит "0",вместо значения ? Где ошибка или это протеус неработает как надо?
interrupt [TIM1_CAPT] void timer1_capt_isr(void)
{
sprintf(buf,"%i",ICR1H);
lcd_gotoxy(0,0);
lcd_puts(buf);
TCNT1H=0x00;
TCNT1L=0x00;
}
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3793
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Вот выдержка из даташита по поводу чтения 16-битных регистров таймера:
For a 16-bit read, the Low byte must be read before the High byte.
Реклама
Встал на лапы
Сообщения: 95
Зарегистрирован: Ср ноя 02, 2011 15:11:49

Сообщение mich91 »

Ser60 писал(а):Вот выдержка из даташита по поводу чтения 16-битных регистров таймера:
For a 16-bit read, the Low byte must be read before the High byte.
Огромное спасибо,помогло) там ещё такой прикол есть что если обнулять значения регистров счетчиков, то наоборот,сначала старш потом младш.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»