Forum: PC-Programmierung RS-232 mit Matlab


von Matthias (Gast)


Lesenswert?

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.

von GAST (Gast)


Lesenswert?

Wie kann man mit fscanf etwas senden?????

von Matthias (Gast)


Lesenswert?

Sry ich meinte natürlich

fprintf(s,'O');
fprintf(s,'K');

mein Fehler.

von Bobby (Gast)


Lesenswert?

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.

von Michael (Gast)


Lesenswert?

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!

von Bobby (Gast)


Lesenswert?

Aha, also doch kein richtiges C.

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.