AVR - Nur Schwachsinn über UART. Liegts am Platinenlayout

OP #3870282
Hi,
ich hab hier einen Atmega8 auf dem ich ein ganz einfach Programm 
gespielt habe.
Es wird beim Start ein "Hello World" per UART geschickt und dann jede 
Sekunde ein "a".

Nun stecke ich den AVR in mein STK500 und das ganze per 
USB<->RS232-Adapter an den Laptop.

Im Terminal empfange ich nun die Zeichen so wie sie sein sollen.

Nun steck ich den AVR in meine selbst erstelle Platine. Im Bild seht ihr 
den Teil mit der Schnittsetelle.

Nun erhalte ich folgendes im Terminal:
1
TOF\0x8b\0xaaz\0xba\0xbf=;\0x81\0xe5\0xeb=\0xe5\0xeb\0x00
2
Oy=
3
Oy=
4
Oy=
5
Oy=
6
Oy=
7
Oy=

Jetzt frag ich mich natürlich warum?
Kann das an der Signalleitung liegen, die unter dem Elko durch geht?

Danke für eure Hilfe.

Gruß,
Daniel
Angehängte Dateien:
Gast
Daniel S. schrieb:
> Kann das an der Signalleitung liegen, die unter dem Elko durch geht?

Die Leitung sieht nicht so aus, als ob da hunderte von Ampere als 
gepulster Strom durchgehen. Daran wirds also nicht liegen.

Die Frage ist, was IC1 für ein Baustein ist. Kommen da RS232-Pegel und 
RS232-Signalpolaritäten raus, oder ist das ein 5V-Signal direkt vom 
UART. In letzerem Fall stimmt die Polarität nicht und du hast Glück, 
dass der PC da überhaupt was empfängt. Schon ein Schaltplan könnte 
solche Fragen beantworten (incl. Verdrahtung zum PC).
OP
spess53 schrieb:
> Hi
>
> Läuft der AVR überhaupt mit dem angesagten Takt? Fuse und Jumper auf dem
> STK500 korrekt?
>
> MfG Spess


Hi,
im Programm sind 16MHz gestezt.
Die Fuses stehen auf
1
lfuse: 0xFF
2
hfuse: 0xD9

Und die Jumper auf dem STK500 sollten auch passen.
1
XTAL1 : gesteckt
2
OSCSEL: auf 3&2
Das bedeutet laut Anleitung On-board crystal signal connected.

Gruß,
Daniel
Gast
>> Ich gehe vom AVR über ein Nullmodemkabel direkt auf den Adapter.

Dann muss aber noch ein Pegelwandler, zumindest ein Inverter rein! Schau 
Dir mal die Spezifikation der RS-232-Schnittstelle an! Ocer hast Du am 
AVR die Polarität per Software umgedreht?
Gast
Das ist sehr wahrscheinlich eine Frage der Pegel.

Wenn du Notebook und AVR direkt verbinden möchtest das musst du einen 
USB--> UART Wandler einsetzen. Der USB -> RS232 Wandler erwartet RS232 
Pegel die der AVR nicht ausgibt.

Dies ist aber alles schon in den letzten Beträgen erwähnt worden.

Wenn der USB -> RS232 Wandler genommen werden soll, dann muß noch ein 
MAX232 dazwischen.
Gast
Dann versuch wenigstens, dein Signal, was aus dem AVR raukommt und an 
die Sub-D Buchse/Stecker an den PIN3 geht, zu invertieren.
Zum Test kannst du ja mal eine Softuart nehmen, bei der das per Option 
zu aktivieren geht. Mit Bascom geht das einfach. Auch mit der 
Demo-Version.
Daran liegt es. Beim STK-Board ist ein Pegelwandler mit drauf 
(RS232-Spare). Bei deinem Board fehlt dieser schlicht. Du kannst auch 
einen Transistor zwischenschalten. Musst dann den Leiterzug auftrennen 
und basteln...
Gast
Hi,

Du benutzt ein STK500 ?

Warum benutzt Du nicht den RS232Spare ?
Einfach von PD0/PD1 nach RS232 Spare RXD / TXD.

Und kein Nullmodem-äKabel.

Wobei ich auf falschen Takt tippe....ist ja schön, dass Du den Crystal 
gesteckt hast und das STK500 richtig gejumpert und im Source Code F_CPU 
richtig definiert hast....
Das heisst noch lange nicht, dass Dein ATmega richtig taktet.

Clock Fuses stehen richtig ?

Gruß Marvin
spess53 schrieb:
> Läuft der AVR überhaupt mit dem angesagten Takt?

Mike schrieb:
> Dann muss aber noch ein Pegelwandler, zumindest ein Inverter rein! Schau
> Dir mal die Spezifikation der RS-232-Schnittstelle an! Ocer hast Du am
> AVR die Polarität per Software umgedreht?

UART schrieb:
> Das ist sehr wahrscheinlich eine Frage der Pegel.

Marvin schrieb:
> Wobei ich auf falschen Takt tippe....

ich tippe Mike hats als einzig richtig erkannt,

die Pins TxD und Rxd lassen auf einem Atmel ATmega8/88/48/168/328 
schliessen, der Pegelwandler Inverter fehlt.

Da wundert mich das Verhalten nicht.
Gast
Joachim B. schrieb:
> ich tippe Mike hats als einzig richtig erkannt

Da tippst du aber kräftig daneben, es gab schon 8 oder 10 Hinweise auf 
fehlende Pegelwandlung und Invertierung. Das scheint den TO aber nicht 
zu interessieren. So gesehen sollte man seine eigentliche Frage "liegts 
am Platinenlayout" nur einfach mit Ja beantworten.

Georg
Gast
Hi,
Ich habe schon zur Kenntnis genommen.
Ich dachte, und da hab ich wohl was falsch verstanden, das man den 
Pegelwandler braucht, weil der AVR zb mit 5v läuft aber die serielle 
Schnittstelle mit 12v. Dann hab ich mir gedacht, okay mein avr läuft mit 
5v und USB auch mit 5v. Sollte also passen. Das war wohl schlicht und 
ergreifend ein Verständnisproblem.

Danke für eure Hilfe,
Daniel
Georg schrieb:
> Da tippst du aber kräftig daneben,

OK foo hats auch geschrieben

foo schrieb:
> Sind da auch die invertierenden Schnittstellentreiber drauf?

aber sich den Plan nie angeschaut !

du nur drum rum geredet

Georg schrieb:
> Dann kann ein RS232C-Adapter nichts sinnvolles empfangen. Das ist noch
> offensichtlicher als offensichtlich...

:p

invertierend vor Pegelwandler ist das besondere Stichwort

hätte foo sich das angesehen hätte er diese Frage nicht stellen müssen
Gast
Joachim B. schrieb:
> die 2 Bauteile AVR und D-Sub 9 kann ich auch aus dem Layout im Kopf
> zusammensetzen, wer da einen Plan braucht

Wenn du nur einen AVR kennst, und weisst das genau, daß der da steckt, 
mag das stimmen.
Ich schau mir solche Bildchen ohne den zugehörigen Schaltplan gar nicht 
erst an.
foo schrieb:
> Wenn du nur einen AVR kennst, und weisst das genau, daß der da steckt,
> mag das stimmen.

Mike schrieb:
> Es hat nicht jeder Lust, erstmal das große IC-Ratespiel zu starten,

Das IC wurde sogar genannt ATmega8 (ich habs auch überlesen)

also ein großes Ratespiel war das nicht.

Daniel S. schrieb:
> ich hab hier einen Atmega8

foo schrieb:
> Ich schau mir solche Bildchen ohne den zugehörigen Schaltplan gar nicht
> erst an.

da bin ich normalerweise bei dir, hier hats mich mal gereizt genauer 
hinzuschauen......
Gast
> Es hat nicht jeder Lust, erstmal das große IC-Ratespiel zu starten,
>>Das IC wurde sogar genannt ATmega8 (ich habs auch überlesen)
Also ich hab gedacht, daß das IC, welches im Bild zu sehen ist der 
Pegelwandler ist und der AVR außerhalb des Bildes ist. Da ich natürlich 
nicht wußte welcher Pegelwandler es ist hat das Bild Absolut NULL 
Informationsgehalt.
uwe schrieb:
> Also ich hab gedacht, daß das IC, welches im Bild zu sehen ist der
> Pegelwandler ist und der AVR außerhalb des Bildes ist. Da ich natürlich
> nicht wußte welcher Pegelwandler es ist hat das Bild Absolut NULL
> Informationsgehalt.

und ist das schlimm ?

hier sind doch einige Experten die auf den ersten Blick sehen was ich 
nicht sehe, das grämt mich nicht. Wenn ich nix sehe UND es für mich 
uninteressant scheint dann bin ich still.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.