mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmega32 UART geht nicht


Autor: Hirbel Ha (leo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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??

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Hirbel Ha (leo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...)

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Hirbel Ha (leo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
als bei mir läuft alles PERFEKT (bis aufs UART) mit den 18,432 MHz

Autor: Hirbel Ha (leo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab das alles genauso, baudrate is auch richtig berechnet...

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn alles richtig ist, dann funktioniert es offensichtlich. Warum
fragst du also?

Autor: Hirbel Ha (leo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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!

Autor: Hirbel Ha (leo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Marco S. (masterof)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
abo

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"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?

...

Autor: @Hirbel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Initialisierung des UART passt?

Autor: Hirbel Ha (leo)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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..

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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)

...

Autor: Dirk Dörr (dirkd)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast Du die Fuses für den Mega32 richtig eingestellt?

Auslieferungszustand ist IMHO interner RC-Oszi. mit 1 MHz

Autor: Hirbel Ha (leo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jo, läuft mit externen oszillator

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Hannes: Wen interessiert schon deine Meinug?

 (unterm Tisch verkriech...)

Autor: Hirbel Ha (leo)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
schlecht geschlafen, oder wieso so aufbrausend

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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.

...

Autor: Hirbel Ha (leo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ööööhm, du meinst der mega is defekt?
denn ohne den 90s gehts nämlich auch nich

Autor: Michael Wilhelm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

...

Autor: Hirbel Ha (leo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hmm um die miteinander kommuniziern zu lassen, wie muss ich das dann
beschalten? rx an tx und umgekehrt?

Autor: Michael Wilhelm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ 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

Autor: Bjoern Buettner (tishima)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja natürlich muss

8515      Mega32
RX     -  TX
TX     -  RX
GND    -  GND

mfg,
Bjoern

Autor: Marco S. (masterof)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@HanneS

habe heute leide keine passende Idee.

Gruß Marco

Autor: @Hirbel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...

Autor: Hirbel Ha (leo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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....

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Hirbel Ha (leo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
alles schon gemacht, der pin is hin, µC ausgetauscht, UART funktioniert.

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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...

...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.