Zuerst sende ich Daten an Arduino von Matlab, dann Arduino fortfahren diese Daten und senden Sie eine Nachricht "Bereit" zu Matlab, um ihm ein neues zu senden. Aber diese periodische Kommunikation ist sehr langsam.Langsame periodische Kommunikation Matlab-Arduino
Das ist mein Matlab-Code:
for i =1:nbr
arduino_serial= serial('/dev/cu.wchusbserial1410');
set(arduino_serial,'BaudRate',9600);
set(arduino_serial,'Terminator','CR');
fopen(arduino_serial);
pause(1);
A_string = strcat(num2str(tabx(i)),',',num2str(taby(i)),',',num2str(pression_ref));
%Send
fprintf(arduino_serial,A_string);
%Receive from Arduino
while (strcmp('Ready',fscanf(arduino_serial,'%f'))==0)
end
fclose(arduino_serial);
delete (arduino_serial);
end
Mein Setup in Arduino ist:
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
Serial.setTimeout(100);
Gibt es eine andere Art und Weise periodische Daten zu senden?
Danke
Was meinst du mit "langsam"? Wie auch immer, Sie können den Port zwischen den Übertragungen offen lassen. – frarugi87
''BaudRate', 9600' ist langsam. Wenn du langsam sagst, meinst du langsamer? –
Versuchen Sie zu beantworten "Welchen Datendurchsatz benötigen Sie?". Dann zwei Möglichkeiten: Passen Sie die Baudrate entsprechend an oder versuchen Sie ein anderes Kommunikationsprotokoll mit einem höheren Durchsatz wie SPI – Emilien