habe diese prog.geschrieben aber kann nicht AscII (Hex)befehl an meiner steuerkarte geben, kann nur zeichen eingeben (#,$...) .möchte aber hex wie 23 01 0D FF eingeben und anwort bekommen vielen dank für ihre hilfe, der französe...
s2 = serial(\'COM1\', \'BaudRate\', 19200,\'Parity\',\'none\',\'Terminator\',\'CR\',...
\'Databits\',8,\'StopBits\',1,\'Timeout\',1);
fopen(s2); % open session
%befehlsatz 1
fprintf(s2, \'HIER GIBT PROBLEME\'); % sends string
pause(0.1) % pause 0.1s for device to answer
idn = fscanf(s2) % reads the port
fclose(s2); % closes the session
Programmieren - alles kontrollieren 4.938 Themen, 20.667 Beiträge
Mit dem folgenden Code kann ich 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);