Hi, ich versuche derzeit mit dem GUIDE von Matlab eine GUI zu erstellen, welche dann mit meinem Mikrocontroller über RS-232 kommuniziert. Ich bin jetzt soweit, dass Daten empfangen werden und gesendet werden. Nur verstehe ich eine Sache nicht bzw. hoffe das ich das so richtig verstanden habe. Ich will von meinem PC aus über Matlab 2 Zeichen senden ('O','K') dazu benutze ich die Funktion fscanf(s,'O'); fscanf(s,'K'); Nach dem Senden, steht im Serial-Objekt, daß 4 Bytes gesendet wurden (?). Jetzt habe ich folgenden Text gefunden: fprintf(obj,'cmd') writes the string cmd to the device connected to obj. The default format is %s\n. The write operation is synchronous and blocks the command line until execution is complete. Heisst das, es werden immer das Zeichen und '\n' gesendet ? also: 1.Byte = 'O' 2.Byte = '\n' 3.Byte = 'K' 4.Byte = '\n' Dann würde das nämlich auch passen, anders versteh ich, daß nicht.
Das sieht ja nach C aus. Ich schreib jetzt nur mal hin, wie es in C ist; was MATLAB daraus macht weiß ich nicht. Z.B.: fprintf(s,'O'); gibt auf den Stream s die Zeichenkette 'O' aus. Z.B.: fprintf(s,'OK'); gibt auf den Stream s die Zeichenkette 'OK' aus. Zusätzliche Zeichen werden in beiden Fällen nicht angehängt.
mit dem fprintf befehl wird automatisch der zeilenversatz mitgeschickt! anstatt fprintf kannst du es auch mal mit fwrite versuchen! da wird kein terminator (in diesem fall "/n") mitgeschickt!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.