AVR-Studio BUG ? Leider funktioniert bei der AVR Studio Ver. 4.07 ,AVR Simulator Build 1, 0, 0, 9 die Simulation der ser. Schnittstelle nicht. korrekt d.h der simulierte Controller (AT90S8515 bzw. mega...) bleibt an der Stelle im Code hängen an der er auf das Rücksetzen des Bussy wartet : asm: eep_r_wait_s:sbic EECR, 0 ; bit cleared? rjmp eep_r_wait_s . . ret Dieser Fehler tritt anscheinend NUR im Schrittbetrieb auf , bei der Sim. via " Run to Cursor " verläuft alles normal . Ist dieses Problem Jemandem bekannt oder handelt es sich eher um einen Konfig.-Fehler meinerseits ? MfG Kai
hier gehts ja mächtig durcheinander...Was hat das EERE-Bit mit der seriellen Schnittstelle zu tun?? Auf EECR.EERE braucht man nie zu warten, das Setzen löst das Lesen aus, es werden automatisch 2 noops ausgeführt, dann kann man das Datenbyte auch schon abholen. Trotzdem solltest du dir die Version 4.08 holen.
Sorry , da die Routine von Eprom auf ser. ausliest und ich außerdem wohl etwas zu sparsam in der code Darstellung war , ist das natürlich zu einem Musterbeispiel an verwirrender Darstellung geworden.Hier noch mal die vollständige Routine. ;String --> RS232 (temp1=Adress) ser_string: push temp2 mov temp2, temp1 out EEARL, temp2 ; set Eprom_Adr sbi EECR, EERE ; set Read Enable Bit nextchar_s: in temp1, EEDR rcall ser_out inc temp2 out EEARL, temp2 sbi EECR, EERE eep_r_wait_s:sbic EECR, 0 ; bit cleared? rjmp eep_r_wait_s ; no in temp1, EEDR ; yes ,then read tst temp1 ;test string_end brne nextchar_s pop temp2 ldi temp1, 10 ;new line etc. rcall ser_out ldi temp1, 13 rcall ser_out ; ret Dank an Crazy Horse. Hast mich glücklicherweise darin erinnert das der Befehl eh nur einen Clk dauert... so braucht man EERE ja nie abzufragen.Leider wird das aber beim AVR Studio nicht weiter angezeigt. Sollte ich zum Lesen eigentlich besser das EEWE abfragen und auf 0 warten ? Vielleicht sicherer wenn mal n Int. die Routine unterbricht und etwas im Eprom hinterlegen möchte. MfG Kai
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.