Forum: PC-Programmierung Kommunikation zwischen PC und ATMega 8


von Michael J. (michael-junge)


Lesenswert?

Hallo zusammen

ich schreibe derzeit auf VB.Net ein Programm zur Messdatenerfassung. Um 
die Daten Hardwaremäßig in den PC zu bekommen, möchte ich sie mit einem 
Mega8 auslesen und dann über rs232 an den PC übertragen. Um 
sicherzustellen, dass der PC nicht abgestürzt ist, sendet der Mega8 jede 
Sekunde einen 5 Stelligen Zahlencode an den PC, dieser sendet den Code 
dann an den Mega8 zurück. Erhält der Mega8 4Sekunden lang keine 
"Antwort" vom PC, wird "Alarm" ausgelöst. Die Kommunikation beider 
Teilnemher (PC und Mega8) habe ich mit dem Terminal getestet und 
sichergestellt, dass jedes für sich richtig funktioniert.
Wenn ich das Programm nun starte, sendet der Mega8 den ersten Code, und 
der PC gibt den Code zurück - beim Mega8 kommt dann allerdings nur Müll 
an?!
Ich habe zur Kontrolle in die Sendeleitung des PC´s einen zweiten PC 
gehängt, um über ein Terminalprogramm "mitzuhören". Der PC sendet auf 
einen vernünftigen Datensatz, beim Mega8 kommt allerdings nicht alles, 
bzw Sonderzeichen an - woran kann das liegen?

Vielen Dank und viele Grüße
Mike

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Wie fragst du die UART auf dem AVR ab? Besteht die Möglichkeit, dass du 
hier Zeichen verlierst, weil du z.B. ein Polling machst und zuviel Zeit 
in Anwendungsroutinen verbrätst. Bei dem Terminaltest fällt sowas kaum 
auf, weil du rel. langsam sendest. Hast du bereits mit niedrigeren 
Baudraten experimentiert und/oder Delays zwischen den Zeichen auf der PC 
Seite?

von Michael J. (michael-junge)


Lesenswert?

Hallo Stefan


Du bist der beste!!!!!! Seit heute Vormittag experimentiere in an dem 
Sch*** rum, und bin nicht ein einziges mal auf die Idee gekommen, die 
Boudrate zu verändern!!! Ich glaub ich hab bereits alles versucht, von 
Delays bis hin zum Handshake zwischen jedem Zeichen, aber die Einfachste 
Lösung ist mir nicht eingefallen. Ich hatte anfangs mal getestet, was 
max geht und mich dann auf 115200 festgelegt - wenn ich das jetzt so 
betrachte, war das wirklich ein bisschen viel ;-)...

VIELEN DANK

Gruß Mike

von Thomas L. (tom)


Lesenswert?

Nur als Referenz, nachdem das Problem ja schon gelöst ist:

Es kommt auch absoluter Blödsinn an, wenn man den MAX232 zwar korrekt 
mit den Kondensatoren beschaltet, aber die Stromversorgung vergisst 
(Pin15/16, oder wars 14/15?).
Es kommt dann zwar was an, aber das ist mehr oder weniger zufällig. So 
geschehen: Gestern. seufz

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
Noch kein Account? Hier anmelden.