Gast
#58646
Hallo! Ich bin ein Neuling in der µC PRAXIS. Die Theorie ist mir ziemmlich gut bekannt (studiere TI). Ich habe mir einen ATMEL AT90S2313 gekauft und über ein selbstgeschriebenes Programm per SPI programmiert. Offensichtlich funktioniert dies auch. Ich kann Chip-Erase ausführen, den Programmspeicher fehlerfrei schreiben und lese später auch die geschriebenen Programmdaten korrekt aus (so wie hineingeschrieben). Bei diesen Aktionen takte ich XTAL1 extern über die PC-Schnittstelle (ich weis, das ist extrem langsam). Wenn ich den AVR dann auf ein anderes Steckbord stecke und den progr. Chip benutzen will, passiert gar nichts, wobei ich XTAL1 wieder über ein Taktsignal vom PC-Parallelport speise. Der RESET-Pin ist fest per 2kOhm Pull-Up mit Vcc (5V) verbunden und wird versuchshalber mit einem Taster gegen Masse geschaltet. Vcc und Masse sind natürlich auch angeschloßen und 100nF "puffern" die Spannungsversorgung am Chip. In der Simulation mit AVRStudio4 funktioniert das Miniprogramm, was PB0 bis PB4 endlos zählen läßt. Auf dem Steckbord bleiben alle Pins hochohmig, als wäre ein niemals endendes Reset, was die Pins hochohmig bleiben läßt. Nach den original Datenblättern zufolge kann man eigentlich kein Timingfehler begehen bei jeglichem Reset, oder doch? Ich habe alle Register (bis auf DDRB und PORTB) in ihrem Initialzustand belassen. Ebenso habe ich nicht an den Fuse- und Lock-Bits geändert. Ich habe einen 2. Chip gekauft, der sich jedoch genauso verhält. Was mache ich falsch??? Im Voraus vielen Dank, Martin! Das ASM-Prg: rjmp RESET RESET: ldi r16,0b00011111 out $17,r16 ldi r16,1 ldi r17,0 MARK1: add r17,r16 out $18,r17 rjmp MARK1