我有關於數據從通過串行端口從一個Arduino接收澄清問題。具體來說,我使用的是Sparkfun Pro Micro 5v/16MHz,並試圖在C++中編寫一個簡單的GUI來通過串口發送消息,然後接收Arduino板上運行的代碼中指定的幾個響應之一。串行用C++通信(Visual Studio 2010中,.NET 4.5)
我知道Arduino的運行通信和代碼的工作,因爲我已經使用Arduino的IDE的串口監控工具嘗試和我能夠發送和接收適當的響應。
當通過C發送消息++圖形用戶界面我創建我看到交通指示燈閃爍上發送消息導致我相信,通過C++圖形用戶界面發送工作,但沒有任何關於接收郵件的作品。
我的一些代碼:
private: System::Void serialPort1_DataReceived(System::Object^ sender, System::IO::Ports::SerialDataReceivedEventArgs^ e)
{
String^ testStr = serialPort1->ReadExisting();
log_textBox->Text += testStr + "\n";
}
這是分配給DataReceived
事件我SerialPort
對象是我的表單的一部分很簡單的事件處理程序。我在它裏面設置了一個斷點,它永遠不會被觸發。我有點不知所措,我在Arduino或硬件方面做了大量工作,所以我不完全確定我的選擇是用於調試。
如果任何人有任何調試建議或想法是什麼,我做錯了我會非常感激。此外,如果我沒有提供任何信息,請告訴我需要什麼,我將編輯它!
謝謝你, -K
我猜你有硬件流量控制設置,但只有TX/RX線路連接。嘗試在設置串口時關閉硬件流量控制。 – rm5248
@ rm5248感謝您的建議!我將如何做到這一點?我通過USB端口連接,並沒有在VS中的串行端口對象上看到該選項。 –
我不知道如何在C++/NET做到這一點,但試試這個:http://msdn.microsoft.com/en-us/library/system.io.ports.handshake.aspx – rm5248