--
пол дня бился пытаясь понять на каких условиях выставляется флаг по сравнению канала А
TCC4_INTFLAGS (CCAIF)
---
Работаю в студии 7
перенес код с мега А
в пошаговом режиме. Код ограничил только инициализацией таймера TCC4. более ничего
Счетчик таймера как и положено считает, при сравнении обнуляется, флаг CCAIF нет и все
флаг ССВ работает как положено при условии если значение TCC4_CCB меньше TTC4CCA
при значении TCC4_CCA=TCC4_CCB флага CCBIF тоже нет
вообщем не пойму где костыль, может будут мнения?
--------
Код
LDI R16,LOW(20)
LDI R17,HIGH(20)
STS TCC4_CCA,R16
STS TCC4_CCA+1,R17
STS TCC4_CCABUF,R16
STS TCC4_CCABUF+1,R17
LDI R16,LOW(20)
LDI R17,HIGH(20)
STS TCC4_CCB,R16
STS TCC4_CCB+1,R17
STS TCC4_CCBBUF,R16
STS TCC4_CCBBUF+1,R17
;
LDI R16,$01
STS TCC4_CTRLB,R16; TOP=CCA; EN CCA
;
LDI R16,$01
STS TCC4_CTRLA,R16 ; PESCALER 1:1
;
; LDI R16,$01
; STS TCC4_CTRLE,R16
LDS R16,TCC4_INTFLAGS
STS TCC4_INTFLAGS,R16
LDI R17,HIGH(20)
STS TCC4_CCA,R16
STS TCC4_CCA+1,R17
STS TCC4_CCABUF,R16
STS TCC4_CCABUF+1,R17
LDI R16,LOW(20)
LDI R17,HIGH(20)
STS TCC4_CCB,R16
STS TCC4_CCB+1,R17
STS TCC4_CCBBUF,R16
STS TCC4_CCBBUF+1,R17
;
LDI R16,$01
STS TCC4_CTRLB,R16; TOP=CCA; EN CCA
;
LDI R16,$01
STS TCC4_CTRLA,R16 ; PESCALER 1:1
;
; LDI R16,$01
; STS TCC4_CTRLE,R16
LDS R16,TCC4_INTFLAGS
STS TCC4_INTFLAGS,R16