Arduino Serial - 如何覆盖所有传入缓冲区以仅获取最新字符串
Arduino Serial - How to override all incoming buffer to get the latest string only
我正在使用 Serial.readString() 获取通过蓝牙从手机发送的数据。
当我在发送时间之间有一点延迟发送数据时,它工作正常。
但是当我以更快的延迟连续发送数据时,缓冲区会将所有内容存储为一个长字符串,然后 return 将该长字符串存储到 Serial.readString().
例如:
发送中
10
20
30
40
正在接收
10203040
我想接收与多个发送时间相对应的单独值。活动真快。
10
20
30
40
如果无法实现,我如何才能只获取最新值(覆盖缓冲区中的所有先前值)。在这种情况下是 40
Command = Serial.readStringUntil('\n');
请注意,\n 可以替换为任何指示您希望 readString 停止读取的字符。有关详细信息,请查看 Arduino Docs.
我正在使用 Serial.readString() 获取通过蓝牙从手机发送的数据。 当我在发送时间之间有一点延迟发送数据时,它工作正常。 但是当我以更快的延迟连续发送数据时,缓冲区会将所有内容存储为一个长字符串,然后 return 将该长字符串存储到 Serial.readString().
例如: 发送中
10
20
30
40
正在接收
10203040
我想接收与多个发送时间相对应的单独值。活动真快。
10
20
30
40
如果无法实现,我如何才能只获取最新值(覆盖缓冲区中的所有先前值)。在这种情况下是 40
Command = Serial.readStringUntil('\n');
请注意,\n 可以替换为任何指示您希望 readString 停止读取的字符。有关详细信息,请查看 Arduino Docs.