Hi, ich bin gerade dabei in die Welt der Microcontroller ein zu steigen. Ich habe mit ein STK500 bestellt. Dazu gibt es ja einen ATMEGA8515L 8PU. Nun habe ich etwas mit Bascom Experimentiert. Dabei ist mir aufgefallen das der Pin 1 vom Register D nicht funktioniert. Ich wollte den als Taster benutzen. Doch wenn ich ihn drücke passiert nichts. Alle anderen Reagieren! Um weiter zu testen habe ich mal die Flachbandkabel von D und B vertauscht. Also Register D auf Ausgang gelegt und B auf Eingang. Nun haben alle Taster funtioniert aber bei den LED´s gehen die Pin-Nummern 0 und 1 nicht. Eh ich jetzt das Board zurück schicke wollte ich mal euch fragen ob ich da was falsch gemacht haben könnte? Und kann mir jemand sagen in welchen Sockel ich einen ATMEGA32 stecken kann? Ich habe dazu nix gefunden was auf welchen Steckplatz soll! Gruss Zippo Bearb: Ich habe gerade noch einmal bei Reichelt nachgelesen, mein Board sollte eigentlich mit einem AT90S8515 ausgeliefert werden aber auf meinem steht komischer weise ATMEGA8515L 8PU!!
so, ich habe noch ein bisschen getestet. Ich kann an jedem Port die Taster verwenden nur mit Port D gibts Probleme. Ich verstehe auch nicht warum ich den D.0 als Eingang funktioniert und als Ausgang (also auf LED´s gesteckt) nicht! Kann das mit dieser UART Schnittstelle zusammen hängen? Im Datenblatt steht da für PD0 RXD und für PD1 TXD (also wenn ich das richtig sehe Read und Text). Muss ich da irgendwas umstellen oder kann ich die D Ports nicht einfach so wie ich will verwenden? Sind warscheinlich alles Anfängerfragen...
Port D0 & D1 wird auch als Ser. Schnittstelle verwendet. Vielleicht ist D1 als Tx out geschaltet?
Schönes Wochenende Der Ich macht Feierabend und läßt sich von seinem Frauchen verwöhnen. Mit allem was dazugehört. Gruß
Wie schon erwähnt fange ich geade erst an mit Programmierung. Ich habe auch gelesen dass die Ports D0 und D1 als Ser.Schnittstelle benutzt werden können. Nur wie kann ich das feststellen??? Ist so was intern im Chip festgeschrieben oder leg ich das in meinem Programm fest? Im Programm habe ich beide als anders festgelegt gehabt. Grus
>Ich habe auch gelesen dass die Ports D0 und D1 als Ser.Schnittstelle benutzt >werden können. >Nur wie kann ich das feststellen??? Das wird unter "alternative Portfunctions" im Datenblatt erklärt. >Ist so was intern im Chip festgeschrieben oder leg ich das in meinem >Programm fest? Dass diese Portpins auch von der seriellen Schnittstelle verwendet werden, ist in Hardware "gegossen". Man kann die Portpins aber auch als normale Ein- und Ausgänge benutzen. >Im Programm habe ich beide als anders festgelegt gehabt. Zeig mal dein Programm!
hier das Programm: $regfile = "m8515.dat " $framesize = 24 $swstack = 8 $hwstack = 32 $crystal = 3680000 $baud = 115200 Ddrd = &B11111111 Portd = &B00000000 End ich denke mal an Primitivität nicht zu übertreffen ;-)
>$baud = 115200 Diese Zeile ist dafür verantwortlich, daß die serielle Schnittstelle in Gang gesetzt wird. Schmeiß die mal raus, dann müssten alle 8 Leuchtidioten an Port D freudig strahlen, wenn sie mit ihren Kathoden an den Portpins und mit den Anoden an +Ub liegen. (Ich kenne das STK 500 nicht aus eigenem Erleben und weiß nicht, ob respektive wie die LED's verdrahtet sind) MfG Paul
> PD0 RXD und für PD1 TXD (also wenn ich das richtig sehe >Read und Text) Nein, RXD bedeutet "Receive" d.h. Empfang und TXD "Transmit" d.h. Senden Also, wenn Du (später dann) etwas über die serielle Schnittstelle senden/ empfangen willst, dann kommt an TXD das "Sendesignal" aus dem Kontroller heraus und an RXD das Sendesignal der Gegenstelle hinein. MfG Paul
Hubert G. wrote: > Wird mit $baud = 115200 > nicht automatisch der UART aktiviert? Bascom rules! /:
was habe ich da nochmal geschrieben?? "an Enfachheit nicht zu übertreffen"? Tja aber ein Noopie kann auch das einfachste Prog zur Stolperfalle werden! Habt vielen Dank! Die $baud raus geschmissen und schon ist es hell wie am Tage! Schönes WE!! Zippo
Na, da geht's ja, wenn's geht! ;-) Freu Dich nicht zu früh, der Kompiler wird noch etliche Male husten und spucken. :-) Paul
> Freu Dich nicht zu früh, der Kompiler wird noch etliche Male husten und > spucken. :-) glaub ich dir!!!! :D
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.