Перейти к содержанию
bbh_blocked_dnftl

Dx Portal синхронные внешние прерывания ATmega64A


Рекомендуемые сообщения

добрый день

 

 

 

уровень знаний микроконтроллеров у меня низкий, и ранее не использовал внешние прерывания.

 

 

 

пишу на ассемблере

 

 

 

суть проблемы, есть переключающая кнопка, после нее стоит подавитель дребезга на к561ла7, пока кнопка не нажата на ногу микроконтроллера поступает 5В. нажал - 0В

 

 

 

напомню, у атмеги64 8 внешних прерываний, 4 из них ассинхронные, 4 синхронные

 

 

 

если я подключаю кнопку к выводам с ассинхронными прерываниями INT3..INT0 , все работает, микроконтроллер обрабатывает прерывания

 

 

 

подключаю к синхронным выводам INT4...INT7 , не работает. менял настройки регистра EICRB, но бестолку

 

 

 

читал даташит и прочее но так и не понял в чем проблема и как сделать и что необходимо настроить чтобы синхронные прерывания обрабатывались

 

 

 

RESET:

LDI R16, high(RAMEND)

OUT SPH, R16

LDI R16, low(RAMEND)

OUT SPL, R16

;-------------------------------------------------

CBI DDRE, 4

SBI PORTE, 4

 

 

 

LDI R16, 0B00000000

STS EICRB, R16

LDI R16, 0B00010000

OUT EIMSK, R16

SEI

;_______________________________________________

CYCL:

NOP

NOP

JMP CYCL

 

 

 

 

 

EXT_INT4:

.........

 

 

 

RETI

 

Читать дальше

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...