Hallo, ich hab nen Atmega32 und versuche schon seit ner weile das Uart zum leben zu erwecken. Ich hab mir die fleury Libs runtergeladen und das dazugehörigen Testprogramm hab ich in den µC geladen. Aber es kommt nur müll im Terminal an, woran liegt das? hab alles richtig eingestellt 9600-8-n-1, so wie im code beschrieben... Ich benutze ein takt von 18,432 MHZ, ist das das Problem? Aber im Datenblatt wird der Takt ja auch beschrieben....ausserdem funktioniert der Takt von 7,3728 MHZ auch nich (also kommt auch nur müll an).. Der µC is auch auf externer Oscillator gestellt und die frequenz liegt auch wirklich an...ich verstehs einfach nich :( Kann mir jemand helfen??
18MHz sind etwas jenseits der Spezifikation, aber wenn du es auch mit 7 probiert hast, wird das nicht der Grund sein. Aber ohne Code und Schaltung wird das nichts mit dem Rätselraten.
wenn du im datenblatt guckst, dann findest du ne tabelle wo auch der takt für die 18 mhz für die werte von UBRR stehn... die schaltung stimmt, alles anderefunktioniert, der max202 arbeitet auch korrekt (es hängt da gleichzeitig noch ein at90s8515 dran, und der geht ohne probleme...)
Schau mal unter: http://www.roboternetz.de/wissen/index.php/UART_mit_avr-gcc Hier ist auch ein link zum "ATmega Baudraten-Rechner" http://people.freenet.de/gjl/helferlein/avr-uart-rechner.html
In dieser Tabelle stehen auch 20MHz drin - nur ist beim Mega32 bereits bei 16MHz das Ende der Fahnenstange erreicht. Neuere Typen können bis 20MHz, daher wohl die Tabelle.
Wenn alles richtig ist, dann funktioniert es offensichtlich. Warum fragst du also?
was soll das? Ich frag weil ich hilfe brauch, wenn du meinst es liegt an den 18 mhz, dann irrst du denn mit 7 mhz gehts auch nich, also ein bissl konstruktiver.
Ich bin ein bischen sarkastisch geworden, weil du bislang lediglich verbreitest hast "ich habe alles richtig gemacht, aber es funktioniert nicht". Auf die Nachfrage nach konkreter Information kam bislang nichts. Was erwartest du? Die Kristallkugeln sind leider immer grad in Reparatur oder sonstwie nicht verfügbar.
@A.K: Was macht ihr bloß alle immer mit Euren Kristallkugeln? Baseball spielen? Meine geht regelmässig in die Wartung (wo sie sich natürlich gerade mal wieder aufhält...) und dann wird sie täglich poliert... @Leo:Ich habe deinen Fehler gefunden. Verrate aber nicht, wo er sich befindet!
was soll ich denn noch erzähln? Ich fang mal von vorne an: Ich hab zwei µC einen at90s8515 und nen mega32. Beide hangen an EINEM max202, von dort geht es in den pc. Der 90s sendet per UART mit 19200-8-n-1 daten zum terminal, alles gut und fein.. Das gleiche soll der Mega machen, macht er aber nich. Ich bin mir sicher das alles richtig angeschlossen ist, weil der rest auf dem Mega einwandfrei läuft, nur eben das UART nich, es kommt zwar was an am terminal, aber nur mist, nicht die zeichenkette die ich gesendet hab.
"Master of abo" hat die Lösung... - Wetten? ;-) > Beide hangen an EINEM > max202, von dort geht es in den pc. - Wie hast du die TX-Leitungen der beiden AVRs gegeneinander entkoppelt? - Funktioniert es denn wenigstens, wenn nur ein AVR am MAX202 angesclossen ist? ...
Gegenfrage: Wenn du dir so sicher bist dass alles 100% richtig verdrahtet ist und deine 100% richtig ist, warum funktioniert's dann nicht? Also überprüf sowohl die Hardware als auch die Software, und wenn du die Hardware zu 100% ausschließen kannst, warum stellst du dann nicht mal deine Software hier rein, es kann ja dann nur noch daran liegen.
entkoppelt hab ich garnix, denn das ziel ist, beider µC miteinander übers UART zu verbinden...als test hab ich den max angeschlossen... der 90s8515 funktionert und sendet problemlos der mega nicht! auch wenn ich den 90s8515 entferne und nur der mega am max hängt, kommt ebenfalls nur müll am terminal an.... Bei der schaltung kann ja nur was mit der rx tx leitung nicht stimmen und die hab ich 100 mal kontrolliert...die software ist aus einer fleury lib, im anhang dabei..
RAR kann ich nicht online ansehen und will ich nicht speichern. Ich müll mir nicht die Platte zu, nur um Jemandem zu helfen. Nimm also ein Format, das der Browser ohne zusätzliche Plugins darstellen kann, wenn du auf meine Meinug wert legst. (das war kein Scherz) ...
Hast Du die Fuses für den Mega32 richtig eingestellt? Auslieferungszustand ist IMHO interner RC-Oszi. mit 1 MHz
@Hannes: Wen interessiert schon deine Meinug? (unterm Tisch verkriech...)
> entkoppelt hab ich garnix, Könnte es sein, dass mangels Entkopplung die TX-Pins beider AVRs gegeneinander "gekämpft" hatten und der "Schwächere" bereits "verloren hat"? (Der Mega32 ist vom Design älter und daher vermutlich schwächer.) Die TX-Pins sind (Push/pull-) Ausgänge, die mögen nicht zusammengeschaltet werden. Das gibt einen Kurzschluss, bedi dem meist einer nicht überlebt. ...
ööööhm, du meinst der mega is defekt? denn ohne den 90s gehts nämlich auch nich
Als der AT90S8515 vor 7 bis 8 Jahren rauskam, hat bei Atmel noch niemand an den Mega32 gedacht. Evtl. war man gerade dabei, die ganze Megaserie zu designen. MW
Sorry, ich hatte nur halb gelesen und war auf Mega8515 aus. Der AT90S8515 ist natürlich älter. Trotzdem halte ich es für möglich (und recht wahrscheinlich), dass der Mega32 das Parallelschalten des TX-Pins mit dem 8515-TX-Pin nicht überstanden hat. Denn das ist ein Kurzschluss. Man schaltet zwei Ausgänge nicht ohne Entkopplung zusammen. > schlecht geschlafen, oder wieso so aufbrausend Wer ist damit gemeint? ...
hmm um die miteinander kommuniziern zu lassen, wie muss ich das dann beschalten? rx an tx und umgekehrt?
@ Hannes, ich vermute, deine Vermutung ist richtig. @ Leo, das nächste mal 2 Dioden von TXD zum Max, danach einen Pull Down, dann kann elektrisch nichts mehr passieren. Aber irgendwie komisch, ich dachte die Megas können mehr Source als die alten Classik. MW
Wie war das vorhin, deine Hardware ist 100% richtig? Warum fragst Du dann noch nach der Beschaltung? Das nächstemal vielleicht nicht gleich sagen dass alles 100% stimmt... tztztz...
du wiederholst dich kann das sein? die Beschaltung war auch 100% richtig und alles hat funktioniert, nur hab ich nicht damit gerechnet das der alte 90s meinen mega zerstört... somit hat zwar immernoch alles funktioniert, bis zu dem zeitpunkt, als ich das UART implementieren wollte....
Um zu testen, ob es wirklich den USART-Pin gehimmelt hat, sollte man den Mega32 ohne den 90S8515 in der Schaltung betreiben und den entsprechenden Pin togglen. Wenn da nichts passiert, ist der Pin hin.
alles schon gemacht, der pin is hin, µC ausgetauscht, UART funktioniert.
> die Beschaltung war auch 100% richtig und alles hat funktioniert, > nur > hab ich nicht damit gerechnet das der alte 90s meinen mega > zerstört... Du erzählst Unfug! Die Beschaltung kann nicht richtig sein, wenn die Ausgänge zweier Controller ohne jegliche Strombegrenzung zusammengeschaltet werden. Deine Rechthaberei ist hier fehl am Platz. Und das ist der Beweis dafür: > alles schon gemacht, der pin is hin, µC ausgetauscht, UART > funktioniert. Nicht der 8515 hat den Mega32 beschädigt, sondern die falsche Beschaltung, für die nicht der AVR, sondern allein du verantwortlich ist/bist. Fehler machen wir alle mal, aber man sollte auch dazu stehen und daraus lernen. Dabei geht es hier nicht um Schuld, sondern um Ursache und Vermeidung in der Zukunft... ...
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.