guten abend zusammen, Ich habe mir heute das starterkit 500 und das zusatzboard stk 501 gekauft und wollte gleich loslegen mit einem Programm. Als include file habe ich eine atmega128 eingebunden. Nun der code wird in assembler compilirt. Null fehler. Nun das problem. Meine erste frage: reicht es wenn ich das stk501 einfach auf das stk500 stecke und den prozessor einlege atmega128? Die kabel sind nämlich wie am anfang beschrieben in der anleitung vom stk500. Muss ich die kabel irgendwie umstecken oder etwas in der art? Zweite frage:ständig bekomme ich angezeigt dass die firmware auf dem board älter ist.wie upgrade ich diese Und das dritte problem. Bei bestimmten funktionen wie zum beispiel für schleifen die einen tastendruck abwarten oder ähnliches erscheint immer eine meldung, die anscheinen etwas mit isp zutun hat. Es ist eine art hinweis meldung.der code ist aber richtig.daher hängt diese frage ja auch eventuell mit der ersten zusammen. Vllt habt ihr eine idee wie die kabel umgesteckt werden müssen für das erweiterungsboard stk501 und eventuell kann mir jemand hier ein bild zeigen. Habe mein programm nämlich draufgelade und es leuchtet ständig nur eine led und jeder mal wenn ich in avr0studio was mache leuchten kurz die ersten drei leds also wenn ich mich im fenster befinde wo ich die hexfile drauflade.
Hi >Meine erste frage: reicht es wenn ich das stk501 einfach auf das stk500 >stecke und den prozessor einlege atmega128? Die kabel sind nämlich wie... Du musst den Steckverbinder ISP6PIN vom STK500 mit SPROG vom STK500 verbinden. >Zweite frage:ständig bekomme ich angezeigt dass die firmware auf dem >board älter ist.wie upgrade ich diese... Im AVR-Studio-Verzeichnis->STK500 'upgrate.exe' ausführen. Anweisungen beachten. >Bei bestimmten funktionen wie zum beispiel für >schleifen die einen tastendruck abwarten oder ähnliches erscheint immer >eine meldung, die anscheinen etwas mit isp zutun hat. Mit Sicherheit nicht. >Es ist eine art hinweis meldung. Welche Meldung? >der code ist aber richtig Das sagen alle. >kann mir jemand hier ein bild zeigen. Schon mal die Hilfe zum STK500/501 im AVR-Studio angesehen? MfG Spess
ok danke erstmal.schaue heute abend mal genauer hin und poste hier dann alles.bist du dir sicher, dass ich was stecker angeht nur den einen verbinden muss, denn du zu meiner ersten frage genannt hast? Der code war übrigens vom prof und wenn ich den einen teil lösche, dann geht es.vllt liegt es wirklich an der falschen verbindung :-)
Hi Der code war übrigens vom prof und wenn ich den einen teil lösche, dann geht es.vllt liegt es wirklich an der falschen verbindung :-) Was geht und was nicht. Deine Beschreibungen sind, gelinde gesagt, etwas konfus. MfG Spess P.S. Auch Profs sind keine Götter
So, habe mal aus spass diesen Code hier aus dem Forum genommen: .include "ATMega128.inc" ldi r16, 0xff sts DDRB, r16 ldi r16,~0x00 sts PORTB,r16 ldi r16,0x00 sts DDRD, r16 ldi r16, 0x01 sts PORTD, r16 ldi r17, 0x04 ;welcher_Knopf ldi r18, 0x00 ;i ldi r19, 0x04 ;zum vergleichen in while schleife forschleife: lds r20, PIND inc r18 and r17,r20 ;logische verundung steht in r17 cp r19,r17 ;wenn gleich gehts weiter brne forschleife mov r21,r18 sts PORTB,r21 jmp forschleife Dieses Programm funktioniert überhaupt nicht?! Nun folgendes Programm verursacht einen Fehler:
1 | .include "ATMega128.inc" |
2 | |
3 | |
4 | ; Stackpointer sei schon initialisiert |
5 | main: |
6 | call init_port ;Init Wert R17 |
7 | while: ;forever |
8 | call taste |
9 | call lauflicht |
10 | rjmp while |
11 | |
12 | |
13 | init_port: ; returns R17 |
14 | push R16 |
15 | ldi R16,0xff ;port B=output |
16 | sts DDRB,R16 |
17 | ldi R16,0x40 ;pin D6 pullup |
18 | sts PORTD,R16 |
19 | ldi R17,~1 ;init LED 1 on |
20 | sts PORTB,R17 |
21 | pull R16 |
22 | ret ;in R17 Startwert |
23 | |
24 | wait: lds r16,PIND ; warte auf |
25 | andi r16,0x40 ; „losgelassen“ |
26 | breq wait |
27 | jmp loop ;-> Hauptschleife |
28 | |
29 | |
30 | Taste: |
31 | push r16 |
32 | loop: |
33 | lds r16,PIND ;Portbits holen |
34 | andi r16,0x40 ;Tastenbit maskieren |
35 | brne loop ;1 = offen |
36 | pop r16 |
37 | ret |
38 | |
39 | |
40 | Lauflicht: |
41 | push r16 |
42 | push r17 |
43 | lds r17,PORTB ;letzter Wert |
44 | mov r16,r17 |
45 | rol r16 ;save MSB -> C |
46 | rol r17 ;re-enter MSB |
47 | sts PORTB,r17 |
48 | pop r17 |
49 | pop r16 |
50 | ret |
Zum einen bekomme ich in der Zeile, wo "pull" steht eine Fehlermeldung und zum anderen wird das Programm nicht einmal auf den stk500 und stk501 draufgeflasht, sondern es kommt die Meldung: "STK500 with STK501 moule in ISP mode with ATMega128" A problem occured when executing the command. Make sure that you are using the correct programming methode. Current mode is ISP. See the command output for moire info. etc. .... Wenn ich aber nun die Zeile mit Lauflicht oder Taste, also eines von beiden lösche, kommt es nicht mehr, aber das Progframm funktioniert dann trotzdem nicht?!
ach, du meinst den ISP6PIN vom SPROG3 abtziehen unsd auf das stk501 zu sprog verbinden?
übrigens was upgrade betrifft bin ich in da sstk500 verzeichnis und upgrade angeklickt aber da steht es geht nicht, failed!!!
Hi >ach, du meinst den ISP6PIN vom SPROG3 abtziehen unsd auf das stk501 zu >sprog verbinden? Ja!!!!!!!!!!!!!!!!!!!!!!!!! Die Hochschullehrerkonferez hat vor einiger Zeit festgestellt, das 1/3 aller Abiturienten nicht hochschullreif sind. War wahrscheinlich massiv untertrieben. M;fG Spess
na, da hast du dich aber verschrieben, du hast oben nämlich stk500 geschrieben, aber der ist am stk501. Nunja, jetzt kommt die fehlermeldung nicht mehr, aber ein lauflicht sehe ich dennoch nicht, außer dass beim erase immer die led1 leuchtet. Update habe ich auch schon gemacht.,
ach und die schulbildung hat nichts damit zutun, wenn einem das Thema nicht liegt oder man gerade erst einsteigt.der eine ist im programmieren gut, der andere im BEreich Sport ;) 60% Prozent aller Befragten haben zugegeben zu wenig Sport zu treiben ;)
So, nun eine Frage. Trotz Erasen bekomme ich keinen neuen Code auf den stk. jedes mal wenn ich einen neuen code erstelle bzw. erstmal erase, belitb das programm drauf???
HI Dann solltest du beim Sport bleiben. Hier sind schon um einiges jüngere Schüler eingestiegen, die sich wesentlich intelligenter wie du angestellt haben. Ich bin raus. MfG Spess P.S. >So, habe mal aus spass diesen Code hier aus dem Forum genommen: >.................. Dann kennst du ja meine Antwort
na das nenne ich tolle unterstützung hier, danke auch.und mag ja sein dass jüngere intelligenter sind.aber du hast mir den anschluss vom stk500 genannt statt 501. Und es wäre einfacher wenn du helfen würdest statt mir zu beweisen wie blöd ich mich doch anstelle . Und klar bleibe ich bei dem sport.aber nur weil mir das thema nicht liegt heißt es nicht dass ich es nicht lernen möchte.und nur weil ich nicht gleich alles verstehe heißt es nicht das ich dumm bin. Aber vllt gibt es hier auch jemanden der meine frage beantwortenm kann / jetzt wissen wir warum du kein prof bist.weil du dir keine zeit oder geduld nimmst.und was wissen betrifft weiß man nur soviel, so viel man beigebracht bekommt. Und wenn du alles weist würdest du längst einstein übertreffen. Ich habe z.b. Konzentrationsschwäche.dafür kann ich nichts.und du vllt ein besserer verständnis.es gibt immer welche die besser sind und ich verstehe aus deiner sicht einfache dinge nicht.aber es gibt weitaus mehr die nicht mal wissen was ein controller ist, weil die vllt in andere bereiche arbeiten etc.
Noch mal von Anfang an: >Meine erste frage: reicht es wenn ich das stk501 einfach auf das stk500 >stecke und den prozessor einlege atmega128? Die kabel sind nämlich wie >am anfang beschrieben in der anleitung vom stk500. Muss ich die kabel >irgendwie umstecken oder etwas in der art? Ja. Das reicht. Seite 7 (Abschnitt 2.1): http://www.atmel.com/dyn/resources/prod_documents/DOC2491.PDF >Zweite frage:ständig bekomme ich angezeigt dass die firmware auf dem >board älter ist.wie upgrade ich diese http://www.atmel.com/dyn/resources/prod_documents/doc1925.pdf Seite 37 (Abschnitt 3.11.2) >Und das dritte problem. Bei bestimmten funktionen wie zum beispiel für >schleifen die einen tastendruck abwarten oder ähnliches erscheint immer >eine meldung, die anscheinen etwas mit isp zutun hat. Das ist wirr. Das Programm, das in den AVR geladen wird, hat nichts mit ISP zu tun. ISP ist die Programmiermethode. Beim Programmieren (auch "Brennen") genannt), werden nur Bits übertragen, deren Bedeutung dem Programmer nicht interessiert. >Es ist eine art hinweis meldung.der code ist aber richtig.daher hängt >diese frage ja auch eventuell mit der ersten zusammen. Vllt habt ihr >eine idee wie die kabel umgesteckt werden müssen für das >erweiterungsboard stk501 und eventuell kann mir jemand hier ein bild >zeigen. http://www.atmel.com/dyn/resources/prod_documents/DOC2491.PDF
also wenn ich das stk500 mit dem stk501 über das kabel verbinde wie oben beschrieben, erscheint die oben genannte fehlermeldung nicht mehr.jetzt habe ich aber probleme beim flashen.kann irgendwie die programme nicht mehr erazen.
>also wenn ich das stk500 mit dem stk501 über das kabel verbinde wie oben >beschrieben, erscheint die oben genannte fehlermeldung nicht mehr.jetzt >habe ich aber probleme beim flashen.kann irgendwie die programme nicht >mehr erazen. Sieht so aus, als hättest du den falschen Programmiermodus ausgewählt. Mach mal einen Screenshot von deinem Programmierfenster. Und gewöhn dir bitte Großschreibung und sinnvolle Absätze an. Man ja Augenkrebs von deinem Getippe.
Anbei das Bild. Ich habe AtMega128 eingestellt und habe als Beispiel das Programm dem Tutorial hier genommen. Nur leider leuchten nicht die LEDs, die leuchten sollten. Muss ich eventuell, wenn ich das STK501 benutze, den Chip vom STK500 entnehmen, der da auf der weiß-marktien Stelle ist? Oder macht das nichts? Verstehe nicht, warum die Programme was anderes anzeigen, als sie sollten. Vielleicht habe ich irgendwas falsch angeschlossen. Habe aber alle Kabel wie beschrieben.
Hallo, Heinrich wrote: > Muss ich eventuell, wenn ich das STK501 benutze, den Chip vom STK500 > entnehmen, der da auf der weiß-marktien Stelle ist? Oder macht das > nichts? Wie ein Blick in die Schaltpläne des STK500 verrät, sind alle Anschlüsse der IC-Fassungen und Erweiterungsstecker mehr oder weniger direkt parallel geschaltet. Logischweise darf sich nur EIN AVR auf STK500/501 befinden, wenn die sich nicht unberechenbar gegenseitig stören sollen... PS: sauch wenn ich nur tapezieren will, muß ich mich doch etwas mit den Grundlagen solcher Arbeit befassen. Vermutlich kann man Tapete auch quer an die Wand nageln, man sollte sich dann aber nicht wundern, wenn andere das befremdlich finden. ;) Ein Programm schreiben ist eine Seite, für die Grundlagen der Werkzeuge wie Testboard, ISP-Programmierung oder die Grundlagen der Elektronik sollte man aber wohl doch etwas Zeit einplanen. Gruß aus Berlin Michael
Das Bild ist ja recht schön, aber wenig sinnvoll. Zeig mal bitte eins vvom Programmierdialog. Und dann solltest du dir die von mir verlinkten Handbücher mal angucken.
habe mir die Bücher angeschaut. Aber die Programme scheinen sich einfach nicht gescheit flashen zu lassen bzw. trotz erasen beiben die Programme auf dem Controller. Hab das Gefühl die Register sind anders´verteilt, was die Rechte angeht.
so, hab jetzt den prozessor rausgemacht vom stk500 aus dem roten bereich, obwohl, wenn das kabel von SPROG3 abgetrennt ist, das eigentlich dennoch funktionieren sollte. Nun habe ich ein Bild vom Programm gemacht, dass auf dieser tutorialseite von avr ist, also das programm, was in meinem vorherigen beitrag zusehen ist! Aber die Dioden leuchten nicht.
Hallo,
warum sollte er auch die Warnung lesen und darüber nachdenken...
> Hab das Gefühl die Register sind anders´verteilt,
was die Rechte angeht.
Seit wann haben Register Rechte? Die haben zu machen, was man ihnen
sagt...
Gruß aus Berlin
Michael
also ehrlich gesagt habe ich bisher keine große hilfe bekommen.ich vermute das stk 501 ist defekt.habe kein programm richtig compiliert bekommen
Hi >also ehrlich gesagt habe ich bisher keine große hilfe bekommen... Sollen jetzt alle zu dir kommen, und dich beim Händchen nehmen? >ich vermute das stk 501 ist defekt.habe kein programm richtig compiliert >bekommen Der Compiler des STK501 hat durchaus seine Macken. Die Grösste ist, das er keinen hat. Du hast in der ganzen Zeit noch nicht einmal mitbekommen, das du gar keinen ATMega128, sondern einen ATMega1281 hast. Ist es irgendwie zuviel verlangt, das du dich erst mal selbst mit den Grundlagen beschäftigst? Oder mal andersherum: Was erwartest du hier eigentlich? MfG Spess
Hi, ok, hast Recht, habe nicht genau hingeschautg, dass es ein
Atmega1281 ist Habe mich zu sehr von der ATMega128.inc verleiten lassen.
Sag mal wie ist es mit den include Dateien genau. Kann ich z.B. auf den
ATMega1281 auch PRogramme aus diesem Tutorial ausführen, die eigentlich
für den ATnmega8 gedacht waren? Normalerweise enthält ja die include
Datei die Befehle, die spezifisch sind für meinen PRozessor. Und jeder
>chip nutzt ja andere Register, andere BEfehle eventuell etc.
ich Frage n ur deshalb, weil mit dem Atmea1281 funktiuonieren die TRutorialprogramme nicht, aber mit dem 8515 funktionieren die irgendwie?! obwohl die inklude Datei für Atmega8 gedacht ist?!
Meine Güte. Wieso fängst du nicht mit einem ATMega8 auf dem STK500 an und lässt das STK501 erstmal weg? Dann kannst du alle Tutorial-Programme testen. Und wenn du jetzt mit einem "aber" kommst, dann hilft dir sicherlich keiner mehr. MfG Marius
Weil ich dachte, dass diese einfachewn BEfehle aus dem I/O Tutorial auch auf den 8515 wenigstens funktionieren, ist ja an sich nicht viel Code. VErstehe das nur nicht.
So langsam hab ich keine Lust mehr. Erst fängst du mit einem ATMega1281 an, jetzt ATMega8515. Lern erstmal die Grundlagen. Nimm den ATMega8515 und versuch ne LED ans Blinken zu bekommen, und versuch zu verstehen, wie der Assembler funktioniert, dann lernst du auch viel darüber, wie der µC intern arbeitet. MfG Marius
Mach ich auch so. Mir fällt es eben nur schwer die Datenblätter richtig zu verstehen. Vielleicht hätte ich mit etwas leichteren anfangen sollen. Ich werde jetzt erstmal das Tutoricl abarbeiten.
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.