PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit INPUT für µC zu PC Kommunikation



MelMan
20.11.2008, 15:17
Tag zusammen,

Ich glaube das Thema wurde schon etliche Male angesprochen aber ich weis echt nicht weiter. Ich möchte über den INPUT Befehl einen String an einen ATMEGA8 senden. Dieser kommt vom PC. Mein Programm ist folgendes:


Dim test as String * 10

Do
Input test
print test
loop
End


Sobald ich jetzt mehr als 10 Zeichen sende (auch wenn ich erst 5 und dann 7 sende), kann ich nicht mehr als 10 Zeichen empfangen. Danach bekomm ich keine Meldung mehr vom µc. Wie kann ich das verhindern sodass ich ständig Befehle empfangen kann? Wenn ich "test" am ende des Programm zurücksetze (also - test = "" - bringt das auch nichts). Kann mir da jemand weiterhelfen? Bin echt schon am verzweifeln ](*,)

stefan_Z
20.11.2008, 18:47
Das Problem ist in dem Fall glaubich, dass der String nur 10 Zeichen hat.
Wenn du jetzt mehr als 10 schickst, dann ist die Variable voll und der "Wagenrücklauf" -- also das Zeilenend-Zeichen - wird verschluckt.
Dadurch wird das INPUT für den µC nicht abgeschlossen und er stellt sich dumm.

MelMan
21.11.2008, 16:14
Ja nur wie kann ich das verhindern^^. Möchte danach ja fröhlich weitersenden.

stefan_Z
21.11.2008, 16:33
1 - String vergrößern
2 - Weniger Zeichen senden
3 - UART-Interrupts / Puffer verwenden

MelMan
24.11.2008, 19:50
So alles kla hat jetzt soweit funktioniert. Jetzt ist noch folgendes Problem. Ich habe eine RS232- Kommunikation zwischen einem ATMEGA8, einem ATMEGA644 und meine PC aufgebaut. Diese sieht so aus, dass der 644 und der 8 direkt über RxD und TxD gekreuzt miteinander verbunden sind. Das funktionoert auch soweit gut. Jetzt ist aber noch der PC über einen MAX232 mit dem MEGA8 verbunden. Ich sende Daten vom 644 an den 8, der führt dann Befehle aus und sendet eine Bestätigung an den PC. Nun möchte ich aber die gleichen Befehe, die der 644 sendet auch vom PC aus senden können. Das funktionoert aber nur, wenn ich den 644 von der Kommunikation entferne. Gibt es da irgendwas, auf das ich achten muss?