0

Arduinoと実際のギターを使って、ギターヒーローのようなゲームを統一して作成しています。

私の問題は、arduinoからの戻り値を常にチェックしなければならないことです。

常に値を送信すると、読み取り値が十分に正確でなくなり、ギターからの入力を受信したときにのみデータを送信するようにArduinoのコードを記述すると、ユニティプログラムがフリーズします。応答を待ち続けているように見えるため、Arduinoコードに固執しました。これを回避する方法はありますか?

4

1 に答える 1

0

あなたの基本的な質問は次のとおりです。

Q: Arduino を Windows で実行されている C# アプリケーションに接続したいと考えています。

A: 次の 2 つの方法があります。

  • ポーリング

  • イベント

ポーリングは悪いです:)

正しい方法は、可能であればイベントを使用することです。

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 に答える