Я хочу отправить целое число из MATLAB в Arduino.Я хочу, чтобы целое число было отправлено обратно и отображалось в MATLAB.Иногда ничего не отображается в MATLAB, а иногда отображаются неправильные целые числа, такие как -457.Буду признателен, если кто-то сможет прочитать следующие коды.Если есть более простые методы решения этой проблемы, пожалуйста, дайте мне знать.Спасибо.
Код MATLAB:
s = serial('/dev/tty.KeySerial1')
set(s,'DataBits',8);
set(s,'StopBits',1);
set(s,'BaudRate',9600);
set(s,'Parity','none');
fopen(s);
a='b';
while (a~='a');
a=fread(s,1,'uchar');
end
if (a=='a')
disp('serial read');
end
fprintf(s,'%c','a');
mbox= msgbox('serial com set up complete'); uiwait(mbox);
fprintf(s, '%d\n', 589367);
fscanf(s,'%s')
Эскиз Arduino:
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
// check serial communication
Serial.println('a');
char a='b';
while (a !='a')
{ a=Serial.read();
}
}
void loop() {
// put your main code here, to run repeatedly:
while(Serial.available()==0);
int val=Serial.parseInt();
Serial.print("integer received: ");
Serial.println(val);
}