У кого установлена AVR Studio версии 4.19 и ниже, уделите минут пять, погоняйте код (приложеный)
Таймер/счетчик-1 запрограммирован "Fast PWM" 8-бит. При отладке в AVR Studio (пробовал версии 4, 4.13, 4.18, 4.19) Т/С-1 ведет себя как "Phase correct PWM" (TCNT - счетный регистр должен при "Fast PWM" от "0" досчитать до "FF", выставить флаг переполнения, сброситься в "0" и опять до "FF"... , у меня при отладке "TCNT" от "0" считает до "FF", после от "FF" считает до "0", выставляет флаг переполнения и т.д. ...?). Если и у Вас так-же - наверно глюк студии, если нет - буду копать дальше - переустанавливать винду и т.д.[/uquote]
Включите simulator 2 https://radiokot.ru/forum/viewtopic.php ... 6#p3468756
Добавлено after 1 hour 2 minutes 43 seconds:
T-флаг замечателен тем, что его обслуживают целый набор команд. В вышеприведенных макросах выделен регистр, хотя в данном случае проще, по мне, сразу писать
Спойлер
Код: Выделить всё
;Регистр FLAGS объявляется в старшей части регистрового файла R16...R31 для доступности команд SBR CBR
;..............
;..............
BRNE PC+2
SBR FLAGS,1<<BIT0_FLAG
RETI
;..............
;..............
;..............
;..............
CLR FLAGS
SEI
WAIT_FLAG:
SLEEP
SBRC FLAGS, BIT0_FLAG
RCALL GO_FLAG0
SBRC FLAGS, BIT1_FLAG
RCALL GO_FLAG1
SBRC FLAGS, BIT2_FLAG
RCALL GO_FLAG2
; итд
RJMP WAIT_FLAG
GO_FLAG0:
;обработка флага 0
CBR FLAGS,1<<BIT0_FLAG
RETВариант использования T-флага
Спойлер
Код: Выделить всё
;...............
;...............
BRNE PC+2
SET
RETI
;...............
;...............
SET_ISR_T:
CLT
SEI
WAIT_T:
SLEEP
BRTC WAIT_T
; обработка события
CLT
RJMP SET_ISR_T

