Arduino串行-如何覆盖所有传入缓冲区以仅获取最新字符串

时间:2018-08-17 16:50:16

标签: bluetooth arduino buffer

我正在使用Serial.readString()来获取通过蓝牙从移动设备发送的数据。 当我在两次发送之间延迟发送数据时,它可以正常工作。 但是,当我以更快的延迟连续发送数据时,缓冲区将全部存储为长字符串,然后将该长字符串返回给Serial.readString()。

例如: 正在发送

  

10

     

20

     

30

     

40

接收

  

10203040

我想接收与多个发送时间相对应的单独值。事件真的很快。

  

10

     

20

     

30

     

40

如果无法实现,那么我如何仅获取最新值(覆盖缓冲区中的所有先前值)。在这种情况下是40

1 个答案:

答案 0 :(得分:0)

Command = Serial.readStringUntil('\n');

请注意,\ n可以替换为任何表示您希望readString停止读取的字符。有关更多信息,请检查Arduino Docs