Ach je, das war missverständlich. Die fuses (zweites Bild) hatte ich mit PonyProg und (m)einem ISP-Kabel ausgelesen; dazu hatte ich den Controller und die erforderliche Verdrahtung in ein Steckbrett montiert. Sorry, dass ich das nicht hingeschrieben hatte. Das erste Bild kennst Du ja von LPmikros - und das deutet eben an, dass Fuses gesetzt werden. Ebenso können mit LPmikro ISP auf der letzten Registerkarte fuses gesetzt werden, um die Taktrate des internen Oszillators in weiten Grenzen zu verstellen. Mit beiden Programmen kann man die Fuses nicht auslesen. Ich fand das immer sehr unpraktisch, weil z.B. beim Setzen der Taktrate im LPmikro ISP nicht klar ist, wie der aktuelle Zustand des Controllers ist. Aber das Ganze hat seinen Sinn als Werkzeug für Anfänger - da wird man dann eben nicht verwirrt von diesen Dingen.Zitat von HeSt
Puhhhh - war eine mühevolle Suche (irgendwie lief Dein Code erstmal ne Weile garnicht in meinem Assembler - keine Ahnung warum, aber ich habs hingekriegt).Zitat von HeSt
Vermutlich unbedeutend, aber es fällt auf: Warum steht "cli;" nach "Ende der Initialisierungen" - das ist "sei" doch noch garnicht aktiv ?
Fehlerhaft könnte sein, das Du hast in Deiner Hauptschleife "mloop" als ersten Befehl "sei" stehen hast. Nun gilt aber:
Möglicherweise erzeugt das "nested interrupts" , ohne dass Du es möchtest. Ich hab´s aber nicht ausprobiert. Vielleicht versuchst Du die (nicht sehr hübsche) Methode , dass Du zwei wait-Routinen schreibst - wait1 und wait2 , mit tsec1 und tsec2. Obs hilft, weiss ich aber nicht.Zitat von ATtiny13-doc, Rev. 2535I–AVR–05/08, S 13
Lesezeichen