我正在使用 Arduino 和真正的吉他统一创建一种吉他英雄类型的游戏。
我的问题是我必须不断检查来自 arduino 的返回值。
如果我不断地发送一个值,我的读数就不够准确了,并且如果我为 Arduino 编写代码时它只在接收到吉他的输入时才发送数据,那么统一程序会因为它而冻结卡在 Arduino 代码上,因为它似乎一直在等待响应。有没有办法解决这个问题?
我理解你的基本问题是:
问:我想将我的 Arduino 连接到在 Windows 下运行的 C# 应用程序。
答:有两种方法可以做到:
轮询
活动
轮询很糟糕:)
正确的方法是尽可能使用事件。
假设您可以使用 C# 串行接口,那么您可以将事件分配给 DataReceived。
这是一篇文章,正是讨论了这一点:
http://www.johnciacia.com/2010/06/03/interacting-with-the-arduino-with-c/
寻找:
serialPort1.DataReceived +=
new System.IO.Ports.SerialDataReceivedEventHandler(serialPort1_DataReceived);
这是另一个链接:看起来“Scrobby4”发布了一些示例代码: