【发布时间】:2021-10-19 06:34:13
【问题描述】:
很难为我的问题确定一个合适的问题,所以听到的是我想要的: 我有一个 Arduino Pro Micro 和一个 Arduino Nano 33 BLE。 Nano 使用他的 9 轴传感器来获取位置。我只使用上/下和左/右的角度。他将 21 到 108 和 0 到 100 之间的角度映射为音高和音量。我通过 sprintf 将数字写入 char 数组,然后通过 Serial 1 将其发送到 Arduino Pro Micro。
这里我有问题。我想永久读取发送的数组。我用这个自动取款机:
void readURAT(){
char buffer[7], inChar;
int i =0;
while(Serial1.available() > 0){
if(i<index){
inChar=Serial1.read();
buffer[i]=inChar;
i++;
}else{
buffer[6]='\0';
i=0;
Serial.println(buffer);
Serial1.flush();
}
}
}
这有效,但只有几次。就像,我得到了 10 次价值,然后什么也没有。字符值例如是“066070”。有人知道我错过了什么吗? 提前感谢您的帮助!
【问题讨论】:
-
如果 Serial1 没有可用的完整消息,您可能会不同步。
标签: arrays arduino serial-port write