0

我正在使用 Arduino 和真正的吉他统一创建一种吉他英雄类型的游戏。

我的问题是我必须不断检查来自 arduino 的返回值。

如果我不断地发送一个值,我的读数就不够准确了,并且如果我为 Arduino 编写代码时它只在接收到吉他的输入时才发送数据,那么统一程序会因为它而冻结卡在 Arduino 代码上,因为它似乎一直在等待响应。有没有办法解决这个问题?

4

1 回答 1

0

我理解你的基本问题是:

问:我想将我的 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”发布了一些示例代码:

http://forum.unity3d.com/threads/14731-COM1-and-events

于 2012-02-16T06:30:15.273 回答