clear all; s = serial('COM1','BAUD',19200,'DataBits',8,'StopBits',1,'FlowControl','hardware'); fopen(s); fid=fopen('test.dat','w') i=1; counter=1; for counter=1:50 if i==21 i=i-20; end; tlog=false; %Logical initialisieren while ~tlog tline=fscanf(s); %naechste Zeile aus ASCII-File holen index_s=regexpi(tline,'Hauptboard'); %String in tline suchen if ~isempty(index_s) %Treffer? tlog=true; for j=1:4 index_s=regexpi(tline,':-('); if isempty(index_s) index_sem=regexpi(tline,','); %Trennzeichen suchen, wird hier %nicht ausgewertet temp=strrep(tline,',',' '); %Trennzeichen durch Blank ersetzen string=strread(temp,'%s',6); %String-Array erzeugen, Anzahl %der Variablen angeben temperatur(i,j)=sscanf(char(string(3)),'%d'); %Array-Elemente ausgeben luftfeuchtigkeit(i,j)=sscanf(char(string(4)),'%d'); %Array-Elemente ausgeben licht(i,j)=sscanf(char(string(5)),'%d'); %Array-Elemente ausgeben reichweite(i,j)=sscanf(char(string(6)),'%d'); %Array-Elemente ausgeben board(j)=true; else board(j)=false; end;%zweites if tline=fscanf(s); end %for-Schleife end; %erstes if end % while Schleife i=i+1; end %erstes For fclose(s); fclose(fid); %--------------------------PLOT-Funktion---------------------------------- for i=1:20 x(i)=i; end a1=temperatur; a2=luftfeuchtigkeit; a3=reichweite; a4=licht; for j=1:4 if board(j)==true ya1=a1(:,j); ya2=a2(:,j); ya3=a3(:,j); ya4=a4(:,j); figure; plot(x,ya1,x,ya2,x,ya3,x,ya4); grid on; end;%if end