Я пытаюсь связаться с моим Simblee Rfduino с Matlab со следующим кодом Arduino:
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);
}
В Python я могу правильно читать в 1-8 в правильном порядке последовательно.
Однако в Matlab он постоянно меняет порядок без согласованности со следующим кодом:
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
Я думаю, что может быть какая-то проблема в последовательном буфере. Не могли бы вы дать некоторые рекомендации относительно того, как последовательно заставить Matlab читать данные по порядку? Удалось ли другим заставить Matlab надежно читать с последовательного порта? Спасибо!