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?!
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 diesehttp://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
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.