0
我正在讀取發送到虛擬串行端口的一些字節,這些字節來自PIC單片機,我使用ISIS進行仿真,並且C#捕獲並顯示這些字節。總是從C#中的串行端口接收「?」
在C#中,我只是打開虛擬串口,然後讀取傳入數據。
SerialPort s = new SerialPort("COM2");
s.Open();
當我點擊一個按鈕,執行一種方法,其包含...
TextBox1.Text = s.BytesToRead.ToString(); //Displays the number of received Bytes.
TextBox2.Text = s.ReadExisting();
我使用的PIC的語言是質子。
我只是發出PORTB內部的內容。
PORTB = 10
HSerOut [PORTB]
結果總是「?」。
HSerOut [「Hello」] - > ?????
我錯過了什麼?
?意味着不可打印的字符。檢查整數值以確保您獲得預期值。通過嵌入式開發,二進制值比文本更好。另外你使用的是什麼「Endianness」? – 2013-04-27 15:51:06
您的代碼片段可以工作的機率很小。您必須注意串口設置。波特率是一個非常重要的字符,當它被設置錯誤時會產生非ASCII字符。哪些會產生問號。 – 2013-04-27 18:45:38