串口通信模塊(SerialPort) (1)模塊簡介 使用此模塊需要首先包含一些文件IO相關文件 using System.IO;using System.IO.Ports; 圖標如下圖1所示,將其拖拽到面板。會顯示在最下方,其參數有如下: BaudRate 波特率 DataBits 數據位 Par... ...
串口通信模塊(SerialPort)
(1)模塊簡介
使用此模塊需要首先包含一些文件IO相關文件
using System.IO; |
圖標如下圖1所示,將其拖拽到面板。會顯示在最下方,其參數有如下:
BaudRate | 波特率 |
DataBits | 數據位 |
Parity | 奇偶校驗位 |
PortName | 埠號 |
StopBits | 停止位 |
ByteToRead | 獲取輸入緩衝區的 |
IsOpen | 獲取是否開啟串口 |
以上是我們做串口通信上位機需要用到的(如圖2所示)。
圖1 串口模塊圖 圖2 串口模塊參數圖
串口通信模塊的事件有三個,如圖3所示。
DataReceived 串口接收函數
ErrorReceived 串口數據接收錯誤
PinChanged 串口號發生改變
雙擊即可建立函數。
常見的方法還有
方 法 名 稱 | 說 明 |
Open | 打開串口. |
Close | 關閉串口 |
Read | 從SerialPort 輸入緩衝區讀 |
ReadByte | 從SerialPort 輸入緩衝區讀一個位元組 |
ReadChar | 從SerialPort 輸入緩衝區讀一個字元 |
Write | 寫入到輸出緩衝寄存器 |
(2)代碼編寫
1、串口初始化函數
初始化函數以按鍵點擊函數為起點。需要將各控制項的參數幅值給串口各項參數,具體代碼如下:
private void button1_Click(object sender, EventArgs e) } |
2、串口寫函數
寫函數主要用於發送數據,用到serialPort.write函數
本例以滑鼠點擊按鍵觸發寫函數,代碼如下:
private void button_send_Click(object sender, EventArgs e) |
串口讀函數主要用於讀取串口緩衝區的數據。
此處用到post_DataReceived事件
這裡增減了兩種顯示方式:
1十六進位顯示 2字元串顯示
private void post_DataReceived(object sender, SerialDataReceivedEventArgs e) } } |
未完待續…下一節介紹(C#學習與上位機開發之串口協議接收數據)
源碼可以訪問我GITHUB下載
https://github.com/Harryjun/Csha_demo
參考博客如下:
http://www.cnblogs.com/BookCode/p/5583853.html