При смене таймера с 2 на 0, 1 таймер перестает работать кор

Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
Ответить
mastech
Грызет канифоль
Сообщения: 269
Зарегистрирован: Чт мар 11, 2010 17:45:37
Откуда: г.фрязино

При смене таймера с 2 на 0, 1 таймер перестает работать кор

Сообщение mastech »

Понадобилось изменить чужой код (Atmega16), заменить второй таймер на нулевой, чтоб на втором использовать внешнее прерывание (на нулевом ножка занята). Обнаружилась проблема если перейти на нулевой таймер со второго при этом второй таймер выключен полностью для проверки корректной работы нулевого, начинает некорректно работать первый таймер. На первом таймере «висят» светодиоды, они переодически мигают в зависимости от режима работы устройства, при нулевом таймере когда один из диодов включен, он непросто светится, а мерцает с частотой примерно 70герц.
Настройка таймеров 2 и 1, при замене на 0 второй полностью выключается обработчик так же меняется на 0:
1таймер:
SFIOR=SFIOR|0x01;
TCCR1A=0x03;
TCCR1B=0x19;
TCNT1H=0x00;
TCNT1L=0x00;

2таймер, 0 настраивается как 2:
TIMSK=0x80;
TCCR2=0x0B;
OCR2=120;
TCNT2=0xFF;
С чем это может быть связанно?
Последний раз редактировалось mastech Пн дек 11, 2023 12:29:27, всего редактировалось 1 раз.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15545
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: При смене таймера с 2 на 0, 1 таймер перестает работать

Сообщение BOB51 »

С особенностями работы той программы, которую Вы пытаетесь взломать.
8)
Аватара пользователя
>TEHb<
Друг Кота
Сообщения: 5723
Зарегистрирован: Ср ноя 11, 2009 17:19:30
Откуда: Воронеж
Контактная информация:

Re: При смене таймера с 2 на 0, 1 таймер перестает работать

Сообщение >TEHb< »

Так таймер0 восьмибитный небось.
"Привет!" - соврал он.
mastech
Грызет канифоль
Сообщения: 269
Зарегистрирован: Чт мар 11, 2010 17:45:37
Откуда: г.фрязино

Re: При смене таймера с 2 на 0, 1 таймер перестает работать

Сообщение mastech »

[uquote="BOB51",url="/forum/viewtopic.php?p=4516103#p4516103"]С особенностями работы той программы, которую Вы пытаетесь взломать.
8)[/uquote]
Взломать это громко сказано)
Непонятно как второй и нулевой таймеры связаны с первым, в исходнике первый и второй работают сами по себе и никак не связаны.

Добавлено after 4 minutes 36 seconds:
[uquote=">TEHb<",url="/forum/viewtopic.php?p=4516111#p4516111"]Так таймер0 восьмибитный небось.[/uquote]
Забыл уточнить микроконтроллер Atmega16. Нулевой и второй таймеры там 8ми битные, они одинаковые (вроде как).
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15545
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: При смене таймера с 2 на 0, 1 таймер перестает работать

Сообщение BOB51 »

Таймеры могут быть привязаны к другим функциям программы (не всегда явно).
Да и обвязка у них отличается по возможностям.
Так что сначала изучайте особенности их (таймеров) применения в конкретной программе, прежде чем что либо "модернизировать".
8)
mastech
Грызет канифоль
Сообщения: 269
Зарегистрирован: Чт мар 11, 2010 17:45:37
Откуда: г.фрязино

Re: При смене таймера с 2 на 0, 1 таймер перестает работать

Сообщение mastech »

[uquote="BOB51",url="/forum/viewtopic.php?p=4516284#p4516284"]Таймеры могут быть привязаны к другим функциям программы (не всегда явно).
Да и обвязка у них отличается по возможностям.
Так что сначала изучайте особенности их (таймеров) применения в конкретной программе, прежде чем что либо "модернизировать".
8)[/uquote]
Вы правы. Предделители у них разные (в обработчике счетчик как раз для интервалов мигания). Спасибо.
Ответить

Вернуться в «Теория»