簡體   English   中英

從Arduino發送和接收數據

[英]Send and receive data from Arduino

因此,我正在嘗試開發一個控制台應用程序,該應用程序能夠通過串行端口自動從Arduino發送和接收數據。 基本上,此應用程序將作為任務計划程序執行。

每天,應用程序都會在特定時間執行命令以關閉門。 為此,我將發送類似comport.Write("y") ,並且Arduino將了解該命令將關閉門,但是如果Arduino向我發送ascii命令,它將被關閉。

我想創建一個if條件,該條件會告訴它類似的內容:

“如果讀取了發送到arduino的命令,它將響應某些內容,然后我將打開門。否則,由於門已經關閉,它將無濟於事。”

這是我已經擁有的代碼:

static void Main(string[] args)
    {
        BackgroundWorker work = new BackgroundWorker();
        work.DoWork += new DoWorkEventHandler(work_DoWork);
        work.ProgressChanged += new ProgressChangedEventHandler(work_ProgressChanged);
        work.WorkerReportsProgress = true;
        work.RunWorkerAsync();
        Console.ReadLine();
    }

    static void work_ProgressChanged(object sender, ProgressChangedEventArgs e)
    {
        Console.WriteLine(e.ProgressPercentage);
    }

    static void work_DoWork(object sender, DoWorkEventArgs e)
    {
        BackgroundWorker work = sender as BackgroundWorker;
        int grams = -1;
        SerialPort port = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);
        port.Open();
        while (true)
        {
            string buff = port.ReadLine();
            int value;
            if (int.TryParse(buff, out value) && value != grams)
            {
                grams = value;
                work.ReportProgress(grams);
            }
        }
    }

我想使用類似的方法來讀取arduino發送給我的內容,如果命令正確,它將繼續。

相反,如果此int變量我想要字符串變量

你們能幫我嗎?

也許您可以使用solidsoils4Arduino發送和接收ASCII命令。 您已經有任何有效的代碼了嗎? arduino如何檢測門是否關閉?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM