1

我正在使用Wire 库将一些数据从屏蔽移动到 Arduino。

屏蔽总是输出 36 个字节(GPS 设备),但 Arduino 看到两个数据传输加起来总共 36 个字节。每次传输的计数并不总是相同,但总是总共 36 个字节。setup()每次数据进入时都会重新运行该例程。

就好像图书馆正在重新进入 Arduino 应用程序并把它搞砸。

这可能吗?

4

2 回答 2

3

如果setUp()每次数据进入时都在运行(您确定吗?),那么这意味着 Arduino 出于某种原因正在重置/重新启动。您如何为 GPS 防护罩供电?如果它使 Arduino 的电源出现故障(可能消耗太多电流),那么这可能会导致复位。也可能是您的代码占用了太多内存。我先看看电源问题。

于 2013-01-16T08:01:42.217 回答
2

如果您使用Wire.available,请注意它不保证它会返回发送的字节数。您将需要反复调用它,直到它返回零。

请参阅Arduino 文档中的示例。

于 2013-01-16T12:29:55.267 回答