Непонятки В Работе Таймеров

24-12-2013, 15:30 От: admin Посмотрели: 501
Возникла непонятная ситуация с таймерами на AVR: есть 2 таймера по совпадению, в первом из них при возникновении прерывания запускается второй:




volatile int tempvalue1, tempvalue2;
ISR (TIMER1_COMPA_vect)
{
static int isFirst=0;
if (!isFirst) //однократный запуск
{
OCR3A=tempValue1; //задаем значение по совпадению
TCCR3B|=(1«CS32)|(1«CS30); //запуск 2-й таймер
isFirst=1;
}
}
ISR (TIMER3_COMPA_vect)
{
OCR3A=tempValue2; //задаём другое значение по совпадению — ЭТА СТРОКА НЕ ОБРАБАТЫВАЕТСЯ
}



Проблема в том, что регистр OCR3A при возникновении прерывания 3-го таймера не меняется, т.е. строка OCR3A=tempValue2; не срабатывает. В чём может быть дело?



Зы: симулирую в протеусе

Раздел: AVR

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться, либо войти на сайт под своим именем.

Обсудить на форуме


На момент добавления Непонятки В Работе Таймеров все ссылки были рабочие.
Все публикации статей, книг и журналов, представлены на этом сайте, исключительно для ознакомления,
авторские права на эти публикации принадлежат авторам статей, книг и издательствам журналов!
Подробно тут | Жалоба
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.


Опрос

Ваши предпочтения в TRX


Одинарное преобразование
Двойное преобразование
Прямое преобразование
SDR
Другое
Мне всё равно

Популярные новости
Календарь новостей
«    Май 2024    »
ПнВтСрЧтПтСбВс
 12345
6789101112
13141516171819
20212223242526
2728293031