Programmieren - alles kontrollieren 4.941 Themen, 20.715 Beiträge

Com-port mit Matlab oder C....Programmieren

lemec / 0 Antworten / Baumansicht Nickles

Mit dem folgenden Code kann ich in Matlab 10 Sätze hintereinander schreiben, es handelt sich um Steuerbefehle. Damit lese ich bzw. starte ich Sätze die im EEPROM gespeichert sind. Das größte Problem liegt es daran dass, ich in jede Befehlsatz mind. 2,1 Sekunde eingeben muss (also bei 1 bis 2 s funktioniert es nicht bzw. wenn ich dabei auch die Antwort beobachte kommen Fehler Meldungen raus). Das soll nicht sein da die Sätze mit einem minimal Zeit von 0,1s hintereinander starten soll. Deshalb bitte ich sie um Hilfe: vielleicht könnte man einfacher schreiben bzw. anders schreiben?! ich würde sehr dankbar wenn sie mir das Programm Korrigieren .Oder mir ein völlig andere Programm (C, C++,…) geben damit ich mit der serielle Schnittstelle kommunizieren. Ich bin leider Biologe und Programmierung ist nicht meiner stärke (kenne nur Matlab).
Ich habe mit einem schnellen Rechner (PC) probiert ohne erfolg. Und ich glaube nicht dass, Matlab zu langsam sei. Es liegt auch nicht an der Steuerkarte da diese schnell genug ist.

s2 = serial(\'COM2\', \'BaudRate\', 19200,\'Parity\',\'none\',\'Terminator\',\'CR\',...
\'Databits\',8,\'StopBits\',1,\'Timeout\',1);

fopen(s2); % open session
%befehlsatz 1
fprintf(s2, char(35,1,121,49,13)); % sends string
pause(2.1)
fprintf(s2, char(35,1,65,13)); % sends string
fclose(s2);

fopen(s2); % open session
%befehlsatz 2
fprintf(s2, char(35,1,121,50,13)); % sends string
pause(2.1)
fprintf(s2, char(35,1,65,13)); % sends string
fclose(s2);

fopen(s2); % open session
%befehlsatz 3
fprintf(s2, char(35,1,121,51,13)); % sends string
pause(2.1)
fprintf(s2, char(35,1,65,13)); % sends string
fclose(s2);

fopen(s2); % open session
%befehlsatz 3
fprintf(s2, char(35,1,121,52,13)); % sends string
pause(2.1)
fprintf(s2, char(35,1,65,13)); % sends string
fclose(s2);

fopen(s2); % open session
%befehlsatz 4
fprintf(s2, char(35,1,121,53,13)); % sends string
pause(2.1)
fprintf(s2, char(35,1,65,13)); % sends string
fclose(s2);

fopen(s2); % open session
%befehlsatz 5
fprintf(s2, char(35,1,121,54,13)); % sends string
pause(2.1)
fprintf(s2, char(35,1,65,13)); % sends string
fclose(s2);

fopen(s2); % open session
%befehlsatz 6
fprintf(s2, char(35,1,121,55,13)); % sends string
pause(2.1)
fprintf(s2, char(35,1,65,13)); % sends string
fclose(s2);

fopen(s2); % open session
%befehlsatz 7
fprintf(s2, char(35,1,121,56,13)); % sends string
pause(2.1)
fprintf(s2, char(35,1,65,13)); % sends string
fclose(s2);

fopen(s2); % open session
%befehlsatz 8
fprintf(s2, char(35,1,121,57,13)); % sends string
pause(2.1)
fprintf(s2, char(35,1,65,13)); % sends string
fclose(s2);

fopen(s2); % open session
%befehlsatz 9
fprintf(s2, char(35,1,121,49,48,13)); % sends string
pause(2.1)
fprintf(s2, char(35,1,65,13)); % sends string
fclose(s2);

fopen(s2); % open session
%befehlsatz 10
fprintf(s2, char(35,1,121,49,49,13)); % sends string
pause(2.1)
fprintf(s2, char(35,1,65,13)); % sends string
fclose(s2);

bei Antwort benachrichtigen