Hallo zusammen, ich weiß nicht mehr weiter, ich habe ein Testboard mit einem ATMega16 drauf mit 10 MHz. Ich sende über den TxD Pin 10 (PD1) ein seriellen Text zu einem Vakuum Display, soweit läuft alles super. Nun habe ich mir eine Platine erstellt, gleicher µC und Frequenz, aber es kommt nichts zur Anzeige. Wenn ich den Port aber als I/O schalte, macht er 0 und 1 wie man´s halt so kennt. Kann es sein, dass der TxD im Eimer ist, IO aber noch funktioniert ? Der Witz ist, es ging auch zum Anfang, nur jetzt nicht mehr und mir ist nicht bewußt, was ich falsch gemacht habe. Hier kurz der Testcode (Bascom) mit dem IO Port: $regfile = "m16def.dat" $crystal = 10000000 '$baud = 9600 'Ausgänge Ddrd.1 = 1 'Seriel out Do Portd.1 = 1 Wait 1 Portd.1 = 0 Wait 2 Loop Alles ok, aber: $regfile = "m16def.dat" $crystal = 10000000 $baud = 9600 'Ausgänge-- Ddrd.1 = 1 ' Seriel out Do Print "Hallo Welt "; Wait 2 Loop Nichts passiert, nur auf dem Testboard. Ich wüßte nicht, was ich jetzt falsch gemacht habe, zumal die Hardware und Pinbelegung gleich ist. Hat wer noch ein Tipp bevor ich den µC doch auslöte ? Besten Dank. mfg oliver
Denke mal kalte Lötstelle, wenn am Anfang alles funktioniert hat, und der TXD Pin auch noch funktioniert, würde ich Messen, ob am TXD Pin wenn du sendest überhaupt etwas rauskommt (Irgendein Frequenzmessgerät oder Verstärker mit Lautsprecher oder sonstwas) und schauen, ob sich was tut. Danach nochmal messen am Ausgang des Pegelwandlers. Kabel durchmessen ob am ausgang wenn du sendest was ankommt. Irgendwo muss der Fehler liegen. Bis jetzt habe ich schon die undenkbarsten Fehler bei meinen Schaltungen gefunden. Meist habe ich selber irgendwo den Fehler gemacht. Ist noch nie vorgekommen, das es am AVR lag, es sei denn er hat gar nicht mehr reagiert. Mit Bascom kenne ich mich nicht aus, kann dir also nicht sagen, ob da was falsch ist. G. Tobi
Wozu soll das gut sein? Ddrd.1 = 1 ' Seriel out Könntest Du ein Config-Statement vergessen haben? So eins für die serielle schnittstelle? CONFIG SERIALOUT?
Moin Tobi, habe direkt am Pin abgegriffen, als IO gehts, nur als TxD nicht. Selbe Anzeige am Testboard geht auch .. Mein MultiMeter zeigt was mit 490 kHz an, am Testbaord 850 kHz, kann damit aber nix anfangen ..(gleiche Software) Mir kommt es so vor, dass die Baudrate nicht stimmt, warum auch immer. mfg oliver
Hallo, Funktioniert der Controller noch auf dem Testboard, oder dort auch nicht mehr? Kann sein, dass er im Eimer ist, hatte ich auch schon oft mit mega16nern die scheinen Statisch sehr empfindlich zu seien. Bei war das sehr lustig ich wollte die PIN's als eingang nutzen (Interner Pull-UP eingeschaltet) sie sollten gegen Masse gezogen werden, mit einem direktem Draht ging das auch, nur mit einer ca. 1m entferten Leitung nicht mehr. Ausgetauscht, ging! Also wenn du noch einen zweiten hast, dann Probiere es mal mit dem, aber Achtung möglicht nicht die Pin's so sehr berühren.
Moin Rufus, habe ich nicht vergessen, da nicht notwendig für die Vakuum-Anzeige, geht auch nicht, eben probiert. Wiegesagt, gleiches Programm auf dem Testboard geht alles, nur auf der fertigen Platine nicht (mehr). Und viel falsch geht ja eigendlich nicht bei einer Leitung .. mfg Oliver
Hast du vieleicht unterschiedliche Quellen für den Takt? z.B. Auf dem Testboard nur ein Takt an XTAL1 und auf der Platine Quarz zw.XTAL1 und XTAL2 oder du hast generrell vergessen den Quarz über die Fuse bits im Controller einzustellen, ist mir am anfang auch passier, der schwingt ab werk auf internen 1MHz oder so. Gruß Pöschi
Ddrd.1 = 1 ' Seriel out Also ich mach das bei Bascom nie und trotzdem geht alles, nimm es zur vorsicht mal raus. An sich ist der Code so richtig. Vielleicht noch ein "end" drunter. Bascom zeigt zwar keinen Fehler, macht aber manchmal irgendwelchen Mist, wenns fehlt (eigene Erfahrung...) MfG
Moin, dass Quarz ist aktiv, Fusebits etc alles gesetzt. Mein Testboard und die fertige Schaltung sind identisch, also Pinbelgung, Frequenz. Ich habe das gleiche Programm auf dem Board UND der fertigen Platine getestet, auf dem Board geht alles 100%, nur auf der Platine nicht. Aber was soll schon falsch sein bei einer Leitung ? Das DDRD.1 = 1 kann man weg lassen, stimmt, geht aber auch mit. Der Witz ist, dass es zu Anfang auch funktioniert hat, nur jetzt nicht mehr. Ich komme wohl um ein µC tausch nicht mehr rum, da ich kein Schimmer mehr habe, was der Fehler sein könnte .. Habe auch zum Testen den int. Osz. getestet, ohne Erfolg. mfg Oliver
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.