1、串口通訊簡介編程
串行接口(串口)是一種能夠將接受來自CPU的並行數據字符轉換爲連續的串行數據流發送出去,同時可將接受的串行數據流轉換爲並行的數據字符供給CPU的器件。通常完成這種功能的電路,咱們稱爲串行接口電路。c#
串口通訊(Serial Communications)的概念很是簡單,串口按位(bit)發送和接收字節。儘管比按字節(byte)的並行通訊慢,可是串口能夠在使用一根線發送數據的同時用另外一根線接收數據。串口通訊最重要的參數是波特率、數據位、中止位和奇偶校驗。對於兩個進行通訊的端口,這些參數必須匹配。數組
1. 波特率:這是一個衡量符號傳輸速率的參數。指的是信號被調製之後在單位時間內的變化,即單位時間內載波參數變化的次數,如每秒鐘傳送960個字符,而每一個字符格式包含10位(1個起始位,1箇中止位,8個數據位),這時的波特率爲960Bd,比特率爲10位*960個/秒=9600bps。3d
2. 數據位:這是衡量通訊中實際數據位的參數。當計算機發送一個信息包,實際的數據每每不會是8位的,標準的值是六、7和8位。標準的ASCII碼是0~127(7位),擴展的ASCII碼是0~255(8位)。調試
3. 中止位:用於表示單個包的最後幾位。典型的值爲1,1.5和2位。因爲數據是在傳輸線上定時的,而且每個設備有其本身的時鐘,極可能在通訊中兩臺設備間出現了小小的不一樣步。所以中止位不單單是表示傳輸的結束,而且提供計算機校訂時鐘同步的機會。對象
4. 校驗位:在串口通訊中一種簡單的檢錯方式。有四種檢錯方式:偶、奇、高和低。固然沒有校驗位也是能夠的。blog
2、C#串口編程類接口
從.NET Framework 2.0開始,C#提供了SerialPort類用於實現串口控制。命名空間:System.IO.Ports。其中詳細成員介紹參看MSDN文檔。下面介紹其經常使用的字段、方法和事件。事件
1. 經常使用字段:文檔
名稱 | 說明 |
PortName | 獲取或設置通訊端口 |
BaudRate | 獲取或設置串行波特率 |
DataBits | 獲取或設置每一個字節的標準數據位長度 |
Parity | 獲取或設置奇偶校驗檢查協議 |
StopBits | 獲取或設置每一個字節的標準中止位數 |
2. 經常使用方法:
名稱 | 說明 |
Close | 關閉端口鏈接,將 IsOpen 屬性設置爲 false,並釋放內部 Stream 對象 |
GetPortNames | 獲取當前計算機的串行端口名稱數組 |
Open | 打開一個新的串行端口鏈接 |
Read | 從 SerialPort 輸入緩衝區中讀取 |
Write | 將數據寫入串行端口輸出緩衝區 |
3. 經常使用事件:
名稱 | 說明 |
DataReceived | 表示將處理 SerialPort 對象的數據接收事件的方法 |
3、實現方法,本地計算機使用虛擬串口軟件
一、下載virtual serial port driver 虛擬軟件,添加一對串口
添加之後設備管理就會生成串口設備
二、下載串口調試助手2.2,他會自動讀取剛纔生成的串口
我這裏使用com2串口發送數據,com1接收數據
三、c#代碼,設置窗口名稱,這個是固定的
serialPort1.PortName = comName;
serialPort1.Open();
四、獲取com2發送過來的數據,com1接收發送過來的數據
以上就實現了串口通訊