0

Windows フォームから arduino にデータを送信したいと思います。私が抱えている問題は、一度に 1 つのプログラムしかポートにアクセスできないことです。

テレビでアナログビデオコンポーネント信号を送信するプログラムをarduinoで作成しました。Windows フォーム アプリケーションは、スペース インベーダーに似たゲームの位置を計算し、それらをシリアルに送信します。

ピクセル位置を送信するための C# フォーム コードarrayは次のとおりです。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO.Ports;
using System.Drawing;

namespace ArduinoGame
{
    class SerialWriter
    {
        SerialPort sp;

        public SerialWriter()
        {
            sp = new SerialPort();
            sp.PortName = "COM3";
            sp.BaudRate = 9600;
        }
        public void CloseWriter()
        {
            if (sp.IsOpen) sp.Close();
        }

        public void WritePixelPos(Point[] pixels)
        {
            try
            {
                sp.Open(); 
                foreach (Point pixel in pixels)
                {
                    sp.WriteLine(Convert.ToString(pixel.X + "," + pixel.Y);
                }
            }
            catch (Exception ex)
            {

            }
        }
    }
}

arduino IDEで、シリアルからすべての文をキャッチし、そのデータを関数で使用したいのですが、アクセスできません。

基本的に、arduino がアクセスを必要とする場合、フォームはシリアル ポートを閉じる必要があります。

4

0 に答える 0