Hallo Forum, ich beschäftige mich seit ein paar Tagen mit Microcontroller-Programmierung. Meine Ausstattung: STK500, ATMEGA16 und Bascom Demoversion. Ich habe eine einfaches Programm geschrieben, das einfach nur alle ports blinken lassen soll. Der ATMEGA16 war neu und ich habe auch schon einen anderen probiert. Ich habe keine Fuses verändert. Erst dachte ich das STK500 wäre kaputt und ich habe es zurückgeschickt. Reichelt hat mir umgehend Ersatz (ein Neues) geschickt. Aber genau das Gleiche passiert. neben der üblichen CPU Definition und der Frequenzeinstellung habe ich folgenden Code: ------------------------------------ config porta = output "Hier blinken nur 4 Ausgänge config portb = output "Hier blinken alle außer Ausgang 7 config portc = output "Hier blinken alle 8 Ausgänge !! config portd = output "Hier blinken nur 3 Ausgänge, einer ist immer an do porta = 255 portb = 255 portc = 255 portD = 255 waitms 50 porta = 0 portb = 0 portc = 0 portD = 0 waitms 50 loop --------------------------------------- Ist der ATMEGA defekt, das STK500 oder was mache ich falsch? Laut Datenblatt hat das Teil doch 32 Ein/Ausgänge. Warum kann ich nicht alle als Ausgänge nutzen - heul... Danke!!! Pauline
Nicht heulen, Schaltplan des STK500 studieren! Der Atmega16 allein hat zwar 32 programmierbare I/O Leitungen. Aber einige davon werden von dem dem STK500 Board benutzt, z.B. damit du den Atmega seriell ansprechen kannst. Zudem kannst du den Atmega16 überlasten, wenn du gleichzeitig alle Ausgänge benutzt und z.B. auf 32 Pins über die LEDs je 20 mA Strom gibst. Immer die Absolute Electrical Ratings im Datenblatt (ziemlich hinten) beachten! Wenn du ein Projekt hast, bei dem du viele I/O Leitungen brauchst, gibt es meistens eine bessere Lösung als die I/O Leitungen direkt am AVR anzuschliessen. Viele Leitungen haben Sonderfunktionen, die man lieber nutzen will als damit zu klimpern. Stichwort Multiplexing und Porterweiterung im Tutorial. Wenn du - wie du schreibst - keine Fuses geändert hast, wundert mich das Ergebnis bei PORTC. Ab Werk ist die Sonderfunktion JTAG aktiv und da dürften keine 8 blinkende LEDs zu sehen sein. Kenne mich mit BASCOM aber nicht so aus, vielleicht dreht das da was.
Hi Der einzige Port bei dem es bei einem neuen ATMega16 Probleme gibt, ist Port C wenn die JTAG-Fuse nicht abgeschaltet ist. Bist du sicher, das der ATMega im richtigen Sockel steckt? MfG Spess
Du schreibst nicht, welche Ports nicht als Ausgänge funktionieren, aber ich nehme mal an, das es sich um Port C handelt. MfG Turbotoni
würde sich aber im falschen Sockel nicht flashen lassen, oder? Das Stromargument zieht auch nicht, da im STK500 die LEDs über Transistoren geschaltet sind.
Hi >würde sich aber im falschen Sockel nicht flashen lassen, oder? Also ich habe es nicht probiert, aber Programmierleitungen liegen auf den gleichen Pins. Und der Strom könnte, wohl gemerkt könnte, sich der AVR auch über Portpins holen. Habe ich schon gehabt. MfG Spess
Ich habs auch noch nicht probiert, tue ich jetzt auch nicht extra :-)
Hallo sorry ich habe portc und Portb oben in meiner Beschreibung vertauscht. portc liefert nur 7 Ausgänge und bei portb leuchtet alles. Und ja, der atmega sitzt im richtigen Sockel (rechts im orangenen von den LEDs gesehen). Fuses habe ich keine geändert! Ein- zwei hätten mich nicht gewundert. aber das an porta UND an porte nur drei-vier Ausgänge gehen kann ich nicht glauben. hängt es vielleicht mit der bascom Demo zusammen? Das Programm hat doch nur 1% vom Speicherbedarf laut dem popup was da kommt... Auf jeden Fall schon mal danke! Morgen schaue ich mal ob ich einen Schaltplan vom stk500 finde und ich schaue mir den mal an! lg pauline
Hi >Und ja, der atmega sitzt im richtigen Sockel (rechts im orangenen von >den LEDs gesehen). Der muss aber in den Linken (rot). Bezeichnung SCKT3100A3. MfG Spess
Auf jedenfall muss man die JTag-fuse ändern, sonst funktionier port C nicht. Das manche ports nicht als Ausgang funktionieren, kann auch an Bascon liegen, aber nicht an der abgespeckten Version sondern scheint ein generelles problem zu sein. Ich hatte mal Probleme mit PortB unter Bascom, habe dann das Programm auf C umgeschrieben, und danach keine Probleme mehr. MfG Turbotoni
Pauline schrieb: > Erst dachte ich das STK500 wäre kaputt und ich habe es zurückgeschickt. > Reichelt hat mir umgehend Ersatz (ein Neues) geschickt. Aber genau das > Gleiche passiert. hihi...man hätte auch mit eine multimeter die spannung der nicht leuchtenden pins messen können um einen defekt des stk500 auszuschließen... ;)
Turbotoni schrieb: > Auf jedenfall muss man die JTag-fuse ändern, sonst funktionier port C > nicht. Quatsch... JTAG lässt sich per Software abschalten. Dazu muss man einem Neuling nicht den Rat geben, ohne Wissen an den Fuses zu basteln. > > Das manche ports nicht als Ausgang funktionieren, kann auch an Bascon > liegen, Wieso??? - Wenn die richtige Definitionsdatei eingebunden ist, dann sollte (darf) es da keine Probleme geben. > aber nicht an der abgespeckten Version sondern scheint ein > generelles problem zu sein. > > Ich hatte mal Probleme mit PortB unter Bascom, habe dann das Programm > auf C umgeschrieben, und danach keine Probleme mehr. Aha, das ist also der Beweis, dass Bascom nicht funktioniert? Nein, ich bin kein Bascom-Verfechter, aber was Du da schreibst, glaube ich nicht so einfach. > > MfG Turbotoni ...
Nein, das liegt sicher nicht an Bascom. Wahrscheinlich hängt es damit zusammen: Zitat Pauline: >neben der üblichen CPU Definition und der Frequenzeinstellung habe ich >folgenden Code:... Die "üblichen" CPU-Definitionen hast Du nicht mitgeschickt. Vielleicht sind sie etwas unüblich. ;-) MfG Paul
Ähhhm...hallo! Es ist wohl was dran, dass Frauen rechts und links gerne vertauschen. Der ATMEGA war wie Spess53 im falschen "roten" Sockel. Und kaum stecke ich ihn um - schon funktionierts :-) freu! Vielen Dank an Euch! LG Pauline
Hi Na ja. Wenigstens hast du nicht gegrillt. Dann steht ja jetzt deinem Einstieg in die Welt der µCs nichts mehr im Weg. MfG Spess
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.