Saya mencoba berkomunikasi dari Simblee Rfduino saya ke Matlab, dengan kode Arduino berikut:
char testing[] = {1,2,3,4,5,6,7,8,'\0'};
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(6,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(6,LOW);
Serial.flush();
testing(EMG);
Serial.flush();
digitalWrite(6,HIGH);
}
Dengan Python saya dapat membaca 1-8 dengan benar dalam urutan yang benar secara konsisten.
Namun di Matlab terus berubah urutannya tanpa konsistensi, dengan kode berikut:
function serial()
global ser
ser = serial('COM5', 'BaudRate', 9600, 'FlowControl', 'hardware');
fopen(ser);
end
function serial_callback(~, ~)
global ser
time = tic;
fread(ser,1) % pull in data from serial port
toc(time);
end
Saya pikir mungkin ada beberapa masalah dalam buffer Serial. Bisakah Anda memberikan panduan tentang cara agar Matlab secara konsisten membaca data secara berurutan? Apakah orang lain bisa membuat Matlab membaca dengan andal dari port serial? Terima kasih!