问题描述
我正在尝试编写一个从Serial读取字符串的代码来校准我的项目,但是我缺少数据。我希望程序在数据来自串行端口时触发中断。我写的下面的代码效率不高。在编程过程中我可能会错过一些命令。你能帮助我吗 ?谢谢。
void loop(){
String msg=Serial.read();
//Read Sensor
//Read Sensor
//Read Sensor
delay(1000);
}
我搜索了许多资料。许多人建议使用轮询。我想使用中断。
解决方法
我不是100%肯定这是正确的,但是来自Serial的数据不是字符串。
您想要的是一个字符数组:
int bufferLength = Serial.available();
char msg[bufferLength];
Serial.readBytes(msg,bufferLength);