Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » Проблема с прерываниями


Проблема с прерываниями

Сообщений 1 страница 3 из 3

1

К сожалению никакой реакции на нажатие. PINB.0 подключен подтягивающим резистором 10К на + и кнопкой на -. 
Суть затеи:
- постоянная индикации №1, которая меняется на индикацию №2 при нажатии кнопки
- после завершения индикации №2 циклически влючается №1 с самого начала
- нажатие кнопки не должно влиять на текущее выполнение индикации №2 (тоесть в середине )

Код
Код:
$regfile = "attiny13.dat"
$crystal = 9600000
$hwstack = 16
$swstack = 16
$framesize = 16

Config PINB.0 = Input        ' кнопка
Config PORTb.1 = Output   ' светодиод
Config Int0 = Falling

Dim Flag As Byte
Flag = 0

On Int0 Button
Enable Interrupts
Enable Int0

  Do
   Start:
   PORTb.1 = 1
  Waitms 500
   PORTb.1 = 0
  Waitms 500

 Loop Until Flag = 0

 Button:
 Flag = 1
 Disable Interrupts
 Goto Led_1
 Return

 Led_1:

   PORTb.1 = 1
  Waitms 250
   PORTb.1 = 0
  Waitms 250

 Flag =  0
 Enable Interrupts 
Goto Start
Return

End

Отредактировано ut87 (2017-06-07 17:35:17)

0

2

ut87
Оно и не будет толком работать - куча незавершенных ретурнов...

0

3

Рекомендуется к прочтению https://ru.wikipedia.org/wiki/Стек#.D0. … 0.B5.D0.BA

0


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » Проблема с прерываниями