我正在写一个代码,我通过蓝牙读取6位数的字符。这是我读取值的代码(我使用Serial 1):
arr0, arr1 = [[None]]*2
但这会产生一些垃圾值。
为什么会这样?我错过了哪个重点?
有没有其他有效的方法通过arduino中的串行通信读取6位数?
谢谢你的时间。答案 0 :(得分:0)
Serial1
为真时, if (Serial1.available() > 0){
可能只收到1个字节!
所以阅读6很可能会产生不好的结果。 等到你有你需要的东西:
if (Serial1.available() >= 6){
由于数据不足,readBytes
将停止阅读。如果data
是局部变量,则未写入单元格的内容可以是任何内容(除了最后一个单元格之外,您不会对已知数据进行零初始化/填充)。