Hallo, Forengemeinde
Hab die letzten beiden Tage mit der Portierung einer bereits laufenden Software vom tiny26 auf den tiny861V gekämpft.
Geht dabei um eine Insel-Solaranlage mit Akkupuffer und diversen Ausgangsoptionen.
aufgetretene Macke:
A/D-Wandler per systimer liefert immer 0000 als Ergebnis
Hab dann lange rumgesucht, hier und da die Initialisierungsreihenfolge der Register geändert, nix ....
heute dann mal das Assembler-Listing der "tiny26"-Version neben das neu Listing gehalten....
BINGO
der systimer wird im tiny26 mit dem Überlaufwert geladen und initialisiert, dann erfolgt ein
ldi _acca,02h
out timsk,_acca
gesetzt wird dabei das Timer0OverflowInterruptEnable-flag
beim tiny861 steht da aber
ldi _acca,01h
out tims,_acca
und gesetzt wird das Timer0InputCaptureOverflowEnable-flag.
liegt wohl an den Prozessor-descriptorfiles.
einfach nur ein Tippfehler, oder wurde da mal so irgendwann zwischen 2005 und 2007 von Maskenbytes auf Bitnummern umgestellt?
ptiny26.dsc von 2005:
[controlbits]
toie0=2
ocie1a=$40
ptiny2/4/861.dsc von 2007:
[controlbits]
toie0=1
ocie1a=6
So .... hab nun erstmal das timsk "hart" auf 02 gesetzt und es läuft ....
schönes Wochenende einstweilen
Harald
Hab die letzten beiden Tage mit der Portierung einer bereits laufenden Software vom tiny26 auf den tiny861V gekämpft.
Geht dabei um eine Insel-Solaranlage mit Akkupuffer und diversen Ausgangsoptionen.
aufgetretene Macke:
A/D-Wandler per systimer liefert immer 0000 als Ergebnis
Hab dann lange rumgesucht, hier und da die Initialisierungsreihenfolge der Register geändert, nix ....
heute dann mal das Assembler-Listing der "tiny26"-Version neben das neu Listing gehalten....
BINGO
der systimer wird im tiny26 mit dem Überlaufwert geladen und initialisiert, dann erfolgt ein
ldi _acca,02h
out timsk,_acca
gesetzt wird dabei das Timer0OverflowInterruptEnable-flag
beim tiny861 steht da aber
ldi _acca,01h
out tims,_acca
und gesetzt wird das Timer0InputCaptureOverflowEnable-flag.
liegt wohl an den Prozessor-descriptorfiles.
einfach nur ein Tippfehler, oder wurde da mal so irgendwann zwischen 2005 und 2007 von Maskenbytes auf Bitnummern umgestellt?
ptiny26.dsc von 2005:
[controlbits]
toie0=2
ocie1a=$40
ptiny2/4/861.dsc von 2007:
[controlbits]
toie0=1
ocie1a=6
So .... hab nun erstmal das timsk "hart" auf 02 gesetzt und es läuft ....
schönes Wochenende einstweilen
Harald