[英]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.