[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » форумы » Общие вопросы по Bascom-AVR » Сброс битов прерывания
Сброс битов прерывания
implexДата: Пятница, 24.05.2013, 17:50 | Сообщение # 1
Группа: Проверенные
Сообщений: 34

Статус: Offline
Всем привет. Столкнулся с следующим. В начале подпрограммы отключаю прерывание int2 в конце включаю. И если в ходе подпрограммы сработало прерывание, то оно обрабатывается после включения. Я так понимаю это лечится строкой GIFR=64. Что означает цифра 64 и какие есть еще варианты. Встречал следующее
Gifr = 128 'сбрасываем бит прерывания INT1


 
exersizzeДата: Пятница, 24.05.2013, 21:20 | Сообщение # 2
Группа: Администраторы
Сообщений: 723

Статус: Offline
смотри даташит, в разделе General Interrupt Flag Register (GIFR) (в новых контроллерах он называется EIFR)
в ДШ на atmega8 в этом разделе есть вот такая картинка



в этой меге 2 внешних прерывания INT0 и INT1 для каждого из которых есть по одному флагу прерывания INTF0 и INTF1 соответственно. Для сброса флага нужно записать единичку в бит, который соответствует флагу этого прерывания.
См. картинку выше: для INT0 нужно записывать 1 в шестой бит, т.е. вот так 01000000
а для INT1 в седьмой - 10000000
вот у получается что для сброса INT0 нужно записывать в регистр GIFR значение 64, а для INT1 - 128
Прикрепления: 1888668.png (10.5 Kb)


 
implexДата: Суббота, 25.05.2013, 02:14 | Сообщение # 3
Группа: Проверенные
Сообщений: 34

Статус: Offline
Спасибо! Дошло. Для сброса всех трех прерываний GIFR = 224, а только для Int2 GIFR = 32. Но этими действиями я затрону IVSEL и IVCE в Mega32. Так и не понял на что они влияют. Не обращать на них внимания?

Прикрепления: 1360845.jpg (16.5 Kb)


 
exersizzeДата: Суббота, 25.05.2013, 10:43 | Сообщение # 4
Группа: Администраторы
Сообщений: 723

Статус: Offline
это ты смотришь на GICR - General Interrupt Control Register biggrin
в GIFR такого нет

Прикрепления: 6091256.png (8.8 Kb)


 
implexДата: Суббота, 25.05.2013, 11:29 | Сообщение # 5
Группа: Проверенные
Сообщений: 34

Статус: Offline
Спишем на время написания моего сообщения  wacko Еще раз спасибо)

 
Форум » форумы » Общие вопросы по Bascom-AVR » Сброс битов прерывания
  • Страница 1 из 1
  • 1
Поиск: