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:
Hi,
der AVR läuft mi einem 16MHz Quarz.
Ich habe daher zum testen mal 2400 Baud genommen. Ist das höchst
mögliche mit 0% Fehlerrate. Aber auch andere funktionierern nicht.
Gruß,
Daniel
Das 2400 Baud geht also, oder was? Dann hast du wahrscheinlich für die
höheren Baudraten am Computer die Geschwindigkeit nicht umgestellt, oder
am Controller. Du musst bei beidem von Hand dieselbe Baudrate
einstellen.
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).
Ich gehe vom AVR über ein Nullmodemkabel direkt auf den Adapter.
Hab hier aber auch noch einen Raspberry an dem die Platine eigentlich
ran soll. Dort habe ich noch einen MAX232 dazwischen.
Gruß,
Daniel
Daniel S. schrieb:> Ich gehe vom AVR über ein Nullmodemkabel direkt auf den Adapter.
Dann kann ein RS232C-Adapter nichts sinnvolles empfangen. Das ist noch
offensichtlicher als offensichtlich...
Georg
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
>> 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?
Und was ist das für ein RS232-Chip (wenn überhaupt)?
Wieder mal "Ich sehe was, was Du nicht siehst" angesagt?
Kein Schaltplan und nur einen winzigen Ausschnitt der Platine.
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.
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...
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.
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
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
Joachim B. schrieb:> foo schrieb:>> Sind da auch die invertierenden Schnittstellentreiber drauf?>> aber sich den Plan nie angeschaut !
Welchen Plan denn?
Ich sehe bis jetzt keinen.
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.
Joachim B. schrieb:> foo schrieb:>> Welchen Plan denn?>> Ich sehe bis jetzt keinen.>> Beitrag #1Mike schrieb:> Die Frage ist, was IC1 für ein Baustein ist.
Es hat nicht jeder Lust, erstmal das große IC-Ratespiel zu starten, um
durch Reverse Engineering auf den Schaltplan zu schließen.
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 Atmega8foo 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......
> 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.