我想从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);
}