hallo, bin blutiger anfänger und beschäftige mich erst seit heute mit dem microcontoller. wollte erst mal das programm laufen lassen, welches im anhang vom handbuch des stk500 abgebildet ist. leider tut sich nichts. bei den einstellungen hab ich mal alles auf auto. im anhang findet ihr die fehlermeldung. kann mir nitte jemand helfen hab leider auch schon das ganze forum abgesucht, aber bestimmt werd ich die lösung übersehen haben und die frage steht schon 20 mal im forum. grüße und schon mal danke
in der fehlermeldung steht doch: can not both program/verify AND read_flash mach mal read_flash raus...
also, hab mal alle häckchen rausgemacht, bis es problemlos durchgelaufen ist. sind probleme mit flash und eeprom wenn ich build mach, liefert er keine fehler oder warnungen, aber nachher läuft das programm nicht. kann mir vielleicht jemand sagen wie ich normalerweise als anfänger schrittweise anfang, so das es eigentlich keine probleme geben sollte???? hier der code: ;***** STK500 LEDS and SWITCH demonstration .include "8515def.inc" .def Temp =r16 ; Temporary register .def Delay =r17 ; Delay variable 1 .def Delay2 =r18 ; Delay variable 2 ;***** Initialization RESET: ser Temp out DDRB,Temp ; Set PORTB to output ;**** Test input/output LOOP: out PORTB,temp ; Update LEDS sbis PIND,0x00 ; If (Port D, pin0 == 0) inc Temp ; then count LEDS one down sbis PIND,0x01 ; If (Port D, pin1 == 0) dec Temp ; then count LEDS one up sbis PIND,0x02 ; If (Port D, pin2 == 0) ror Temp ; then rotate LEDS one right sbis PIND,0x03 ; If (Port D, pin3 == 0) rol Temp ; then rotate LEDS one left sbis PIND,0x04 ; If (Port D, pin4 == 0) com Temp ; then invert all LEDS sbis PIND,0x05 ; If (Port D, pin5 == 0) neg Temp ; then invert all LEDS and add 1 sbis PIND,0x06 ; If (Port D, pin6 == 0) swap Temp ; then swap nibbles of LEDS ;**** Now wait a while to make LED changes visible. DLY: dec Delay brne DLY dec Delay2 brne DLY rjmp LOOP ; Repeat loop forever und das die fehlermeldung die bei run immer kommt: AVR Simulator: Device has no EEPROM interrupt.
Hallo, also obiges Programm assembliert ohne Fehler und läuft auch im Simulator ohne Probleme. Der Hinweis auf den EEPROM Interrupt ist unintessant, keine Ahnung, was sich Atmel dabei in diesem Zusammenang gedacht hat. Andere Frage: Du hast wirklich einen AT90S8515? Eher doch wohl einen Mega8515? Dann hast Du die falsche CPU eingestellt. Gruß aus Berlin Michael
okay danke, das war auf alle fälle mal n nützlicher tip, aber funktionieren tuts immernoch net:-(
Hi Als erstes solltest du auf ISP-Programmierung einstellen. Dann überprüfe welchen Controller du benutzt. Der gleiche Typ muss im Programmerfenster eingestellt sein. Steckt dein Controller im richtigen Sockel? Und hast du das Kabel (6pol) von ISP6PIN zum richtigen Steckverbinder geführt (rot/grün/blau) MfG Spess
okay seh schon, bin echt noch so was von nullchecker, hab ich natürlich alles net gemacht, gibts vielleicht ne seite wo alles etwas ausführlicher erklärt wird, weil vorher muss ich ja gar net anfangen grüße
okay, hab das mir mal durchgelesen und es auch ausprobiert, so weit verständlich. hab jetzt mal wieder mein programm genommen, wobei ja die leds leuchten sollten. nun mal zu meinem vorgehen: erst mal zur hardware: hab mit der rs232 schnittstelle gearbeitet, mit isp gabs probleme, auf was muss ich da bei der verkabelung achten?? hab dann noch mein port B mit den LEDs und mein Port D mit den switches verbunden. okay dann buil and run, run und es tut sich aber leider nichts. es kommt zusätzlich auch immer die meldung, dass was mit meiner spannung nichts passt, sprich, dass die targetspannung nicht zwischen 4,5 und 5,5V liegt, das ist aber der fall! sorry für die wohl total unprofessionelle beschreibung
Hast du eine Digicam? Wenn ja, dann mach mal ein (scharfes!) Bild von deinem STK500, so wie es jetzt ist und stell es hier als Dateianhang rein. Dann können wir vielleicht sehen, wo der Hund begraben liegt. Gruß, Magnetus
Hi Also 'Build and Run' ist für den internen Simulator und hat mit der Programmierung nichts zu tun. Was steht den in dem STK-Fenster wenn du 'Board' anklickst? MfG Spess
Das Programmierkabel ist doch garnicht gesteckt... Oder sehe ich das falsch? PS: Habe leider kein STK500
dein controller überhaupt nicht mit dem programmier-controller verbunden. nimm das 6 polig flachbandkabel und verbinde den ISP-Stecker mit SPROG3 und les dir mal kapitel 3.6.1 im handbuch (isp-programming) durch! da steht sowas...
Hallo, richtig, Verbindungskabel ISP ist nicht gesteckt... AVR STK 500 User Guide Abschnitt 3-10 Tabelle 3-2 und Figure 3-16 Gruß aus Berlin Michael
Hi Ob der Controller überhaupt erkannt wird, lässt sich am besten unter 'Advanced'-> 'Signature Bytes' -> 'Read' überprüfen. Erst wenn das klappt kannst du dir einen Kopf über das Programmieren machen. MfG Spess
so, endlich hat es funktioniert. vielen dank an alle. jetzt kann ich mich auch endlich mal mit der software beschäftigen. gruß
Hi Die Folie würde ich wegnehmen. Die ist nämlich, wenn auch sehr hochohmig, elektrisch leitfähig. MfG Spess
sers, ich mal wieder was kann ich bei der im anhang stehenden fehlermeldung machen, wenn ich die frequenzen änder hilft das leider nichts gruß und danke
"A problem occured when executing the command" ...welche Aktion hätte denn da ausgeführt werden sollen? Hast du evtl. noch andere Signale auf den ISP-Leitungen anliegen? (z.B. Schalter, LEDs, o.Ä.)
Hi Magnus hat Recht. Lt. deinem Foto hast du die Taster an PortB angeschlossen. Auf dem liegen die Programmieranschlüsse des Controllers. MfG Spess
Nö, Switches hängen laut Foto an PORTD. Bei mir läuft die Meldung auf, wenn der Oszillator vom STK500 ( warum auch immer ) auf 32.62 kHz Takt zurückfällt...
ich mal wieder, experimentier gerade mit einfachen Programmen rum. Will mit einem Switch, genauer Schalter 0, die LED 3 ein und aus schalten. So, klappt, aber eben nur manchmal, wo ist der Fehler im Code? Hier der Code und schon mal danke: .include "m8def.inc" ldi r16, 0xFF out DDRB, r16 ; Port B ist Ausgang ldi r16, 0x00 out DDRD, r16 ; Port D ist Eingang ldi r16, 0xFF out PORTB, r16 ; PORTB auf 0xFF setzen -> alle LEDs aus loop: sbic PIND, 0 ; "skip if bit cleared", nächsten Befehl überspringen, ; wenn Bit 0 im IO-Register PIND =0 (Taste 0 gedrückt) rjmp loop ; Sprung zu "loop:" -> Endlosschleife cbi PORTB, 3 ; Bit 3 im IO-Register PORTB auf 0 setzen -> 4. LED an loop2: sbic PINB, 3 rjmp loop2 sbic PIND,0 rjmp loop2 ; Endlosschleife sbi PORTB, 3 rjmp loop
sers, habe nun ein LCD und zwar ein EA DIP204-4 mi einem KS0073 Kontroller. Versuche bisher erfolglos das TEST-Programm vom Tutorial inAssembler zum laufen zu bringen, leider erscheint nicht TEST auf meinem LCD, denke, dass ich mit der initialisierung von meinem LCD was Falsch mach, kann mir vielleicht einer sagen, wie ich den code vom tutorial abändern muss, dass es funktioniert, vielen dank schon mal
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.