| Микроконтроллеры | Никак не могу запустить прерывание MSC-51, TASM | 
|
|---|---|---|
AHTOXA, в таком виде работает так как и задумывалось, т.е правильно. а можно поподробнее обьяснение? к стати,  работает правильно и без сброса флага в обработчике  | 
  | 
|
Подробнее (смотри по порядку шагов): INCYCLE: MOV R3,#0 CYCLE: CJNE R3,#0AAH,CYCLE CLR HEARTBEAT LCALL DELAY SETB HEARTBEAT SETB EX0 AJMP INCYCLE  | 
  | 
|
Cheeeper: к стати, работает правильно и без сброса флага в обработчике  | 
  | 
|
спасибо  | 
  | 
|
Но по-хорошему, надо всё же чистить IE0 перед разрешением прерывания.  | 
  | 
|
внутри обработчика прерывания никогда не нужно запрещать его! пока обработчик не отработает, новое прерывание того же типа не возникнет и так.  | 
  | 
|
ARV: внутри обработчика прерывания никогда не нужно запрещать его! пока обработчик не отработает, Почему это? Если так надо по логике программы? Например, декодирование RC5 - ловим первый спад, а дальше - по таймеру. Где кроме как в обработчике отключать? ARV: новое прерывание того же типа не возникнет и так Очень даже возникнет. Например, если прерывание не по фронту, а по уровню. Пока будет уровень - будет постоянно вызываться прерывание. То есть, после выхода из прерывания будет выполняться одна команда, а потом - снова в прерывание. Это кстати использовалось для пошаговой трассировки.  | 
  | 
|
| 
 Форум про радио — сайт, посвященный обсуждению электроники, компьютеров и смежных тем. pro-radio.online | Обратная связь  | 
© 2003—2025  | 
|||