mare_crisium,
es geht immer noch langsam, aber weiter...
schau mal, das kann doch nicht stimmen?
[Code]
MU8CTL_ZTCT02:
; ZYTZUST > 1
cpi r18,0x02 ;ist ZYTZUST = 2?
brne MU8CTL_ZTCT03
[Code/]
muss es nicht so heissen?
[Code]
MU8CTL_ZTCT02:
; ZYTZUST > 1
cpi r16,0x02 ;ist ZYTZUST = 2?
brne MU8CTL_ZTCT03
[Code/]
habe mal den kompletten Ablauf ohne Eingriff bzw. Bit-Manipulation aufgeschrieben(in Main "ser r16":
######
keine Taste gedrueckt:
| A.0
V
Zaehler an Adressey+MNU8CTL_ZYTZHLRL) wird von 0x03 auf 0x00 herab gezaehlt
-> aktueller Zustand an Adressey+MNU8CTL_AKTZUST) von 0x00(Zyt 0) auf 0x01(Zyt 1) gesetzt und Zaehler an Adressey+MNU8CTL_ZYTZHLRL) auf T1-T0 = 5-3 = 0x02 gesetzt
| A.1
V
Zaehler an Adressey+MNU8CTL_ZYTZHLRL) wird von 0x02 auf 0x00 herab gezaehlt
-> aktueller Zustand an Adresse (y+MNU8CTL_AKTZUST) von 0x01(Zyt 1) auf 0x02(Zyt 2) gesetzt und Zaehler an Adressey+MNU8CTL_ZYTZHLRL) auf T2-T1 = 8-5 = 0x03 gesetzt
| A.2
V
Zaehler an Adressey+MNU8CTL_ZYTZHLRL) wird von 0x03 auf 0x00 herab gezaehlt
-> aktueller Zustand an Adresse (y+MNU8CTL_AKTZUST) von 0x03(Zyt 3) wird erneut mit 0x03 geladen
|
V
Totmannzeit erreicht - Zustaende bleiben nun fix
######
// bin ich noch auf den richtigen Weg?

als Naechstes moechte ich in der Main r16 mit "0x01", "0x02", "0x80", "0x81", "0x82" laden...