寫一個RS232連接埠程式,開始與機器溝通吧!!!
1.宣告一個變數為SerialPort,供以後使用
System.IO.Ports.SerialPort serialport = new System.IO.Ports.SerialPort();
2.在任一個觸發事件下取得所有可以使用的連接埠
foreach(string com in System.IO.Ports.SerialPort.GetPortNames())//取得所有可用的連接埠
{
comboBox1.Items.Add(com);
}
3.設定連接埠相關傳輸參數
serialport.PortName = comboBox1.Text;
serialport.BaudRate = 9600;
serialport.DataBits = 8;
serialport.Parity = System.IO.Ports.Parity.None;
serialport.StopBits = System.IO.Ports.StopBits.One;
serialport.Encoding = Encoding.Default;
4.開啟連接埠
serialport.Open();
5.監聽連接埠輸入,需要使用到一個執行緒在背景不斷的聽,所以建議使用【backgroundWorker】
(詳細寫法請參考範例檔)
private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
try
{
if (serialport.BytesToRead != 0)
{
label2.Text = "緩衝區:" + serialport.BytesToRead.ToString();
AddText(MsgType.System, "接收:" + serialport.ReadExisting() + "\r\n");
serialport.DiscardInBuffer();
}
}
catch(Exception)
{}
}
6.這樣的寫法已經可以做簡單的傳輸,詳細的方法在範例中,當然,在整個連接埠的使用上,有更多的技巧,請多多搜尋MSDN。
PS:如果要讓ovalShape為實心,設定ovalShape1的FillStyle屬性為Soild,顏色可以在FillColor屬性設為Color底下的所有顏色。
前一個版本的範例中有BUG會導致接收有問題,已經上傳新的範例檔,請下載過的朋友重新下載新版本^^