Hallo NG!
Ich bin's mal wieder...
Momentan experimentiere ich ein wenig mit dem PIC16F628 und dessen UART. Soweit läuft das Ganze auch schon recht gut, allerdings ist meiner Meinung die Geschwindigkeit mehr als dürftig.
Der PIC läuft in einer Endlosschleife und fragt dabei immer ab, ob Daten von der seriellen Schnittstelle kommen. Wenn welche da sind, geht es mit einer kleinen Routine weiter (in etwa 50 words, µC-Takt ist 12MHz). Wenn er das Ganze abgearbeitet hat, gibt er eine Bestätigung (Senden von einem Zeichen) an den PC zurück.
Auf der PC-Seite sieht es ähnlich aus: Wenn das Programm startet, wird über ein MSComm-Control ein Zeichen an den PIC gesendet. In einem Sub, den das Control auslöst, wenn Daten ankommen, wird überprüft, ob das ankommende Zeichen das Bestätigungszeichen ist, woraufhin wieder ein Zeichen an den PIC ausgegeben wird. Das läuft dann in einer Endlosschleife ab.
Momentan bin ich bei 57600 Baud. Wobei ich die tatsächliche Geschwindigkeit auf knapp 6000 Baud schätze. Rein theoretisch wäre also fast das zehnfache an Geschwindigkeit drin.
Wenn ich am PC die Abfrage nach dem "Acknowledge" nicht mache, geht die Ausgabe zwar, allerdings ist es nur eine Frage der Zeit, wann die UART des PICs nicht mehr hinterher kommt.
Meiner Meinung wäre es also Sinnvoll, das Handshake auf RTS zu legen. Nur: Was muss ich wann am PIC ausgeben? TTL-Low während der Kommunikation, und wenn fertig auf TTL-High? Bei Google habe ich leider nichts gefunden, vielleicht auch wegen Suchbegriffmangel.
Ich wäre für Tipps dankbar - auch in etwas andere Richungen ;)
MfG & TIA
Chris
PS: Software für den PIC (cc5x) und für den PC (VB) kann ich bei Bedarf auf meinen Webspace legen.