为什么Serail.readBytes()读取垃圾值?

时间:2015-12-20 11:25:56

标签: bluetooth arduino serial-port

我正在写一个代码,我通过蓝牙读取6位数的字符。这是我读取值的代码(我使用Serial 1):

arr0, arr1 = [[None]]*2

但这会产生一些垃圾值。

为什么会这样?我错过了哪个重点?

有没有其他有效的方法通过arduino中的串行通信读取6位数?

谢谢你的时间。

1 个答案:

答案 0 :(得分:0)

Serial1为真时,

if (Serial1.available() > 0){可能只收到1个字节!

所以阅读6很可能会产生不好的结果。 等到你有你需要的东西:

if (Serial1.available() >= 6){

由于数据不足,readBytes将停止阅读。如果data是局部变量,则未写入单元格的内容可以是任何内容(除了最后一个单元格之外,您不会对已知数据进行零初始化/填充)。

相关问题