Serielle Schnittstelle (COM) mit MATLAB aufzeichnen/auslesen

Gast #2578611
Hallo,

weiß einer von euch vielleicht wie man die Serielle Schnittstelle mit 
Matlab ausliest und die Daten direkt in eine Datei speichert?

Ich bekomme Kommagetrennte Zahlen bzw. Daten von meinem AVR im Format:

"long int, float, float, float, int, int, int, int, int, int,\r\n"

soweit bin ich schon mal:

s = serial('COM5','BAUD',115200);
fopen(s)

Vielleicht hat einer von euch schon mal sowas gemacht und was parat?


Viele Grüße
Tim
Gast
So vielleicht?
1
portid=serial('/dev/ttyS0'); 
2
set (portid,... 
3
             'BauRate',115200,... 
4
             'InputBuffersize',4000,... 
5
             'Timeout',1); 
6
fopen(portid); 
7
fwrite(portid,'blablabla'); 
8
[indata,count,msg]=fread(portid,4000,'uchar'); 
9

10
fclose(portid); 
11
delete(portid); 
12
clear portid;
Gast
Die beste Lösung, hab ich mal für ein Projekt gemacht:

if ~isempty(instrfind)
    fclose(instrfind)
end

ser=serial('COM24');
disp('Serialobjekt erzeugt');
set(ser,'BaudRate',115200);
set(ser,'DataBits',8);
set(ser,'Parity','none');
set(ser,'StopBits',1);
set(ser,'ReadAsyncMode','continuous');
set(ser,'Terminator','CR/LF');

fopen(ser);
disp('Serialobjekt geöffnet')

filename = sprintf('Log%s.txt',datestr(now,30));

fileID = fopen(filename,'wt');

while (1) %dauerschleife
    fwrite(ser, ['14:14:14' char(13)]);
    disp(fgetl(ser))

fprintf(fileID,fgetl(ser));
fprintf(fileID,'\n');
end
fclose(fileID);
fclose(ser);
Habe mir diesn Programmcode als M-File gespeichert und erfolgreich 
ausgeführt.
wie beende ich diesen Programmcode?
Manchmal beendet sich die Ausführung alleine und manchmal schließe ich 
Matlab dazu, woraufhin sich der Rechner ab und an aufhängt.

Warning: Unaspected Warning: The input puffer was filled before the 
Terminator was reached

Wie kann ich diese Meldung wegkriegen?

Vielen Dank

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.