關於串行接口
串行接口(Serial port)又稱“串口”,主要用於串行式逐位數據傳輸。常見的有一般電腦應用的RS-232(使用 25 針或 9 針連接器)和工業電腦應用的半雙工RS-485與全雙工RS-422。
串行接口按電氣標准及協議來分,包括RS-232-C、RS-422、RS485、USB等。 RS-232-C、RS-422與RS-485標准只對接口的電氣特性做出規定,不涉及接插件、電纜或協議。USB是近幾年發展起來的新型接口標准,主要應用於高速數據傳輸領域。
RS-232-C :也稱標准串口,是目前最常用的一種串行通訊接口。它是在1970年由美國電子工業協會(EIA)聯合貝爾系統、 調制解調器廠家及計算機終端生產廠家共同制定的用於串行通訊的標准。它的全名是“數據終端設備(DTE)和數據通訊設備(DCE)之間串行二進制數據交換接口技術標准”。傳統的RS-232-C接口標准有22根線,采用標准25芯D型插頭座。自IBM PC/AT開始使用簡化了的9芯D型插座。至今25芯插頭座現代應用中已經很少采用。電腦一般有兩個串行口:COM1和COM2,9針D形接口通常在計算機后面能看到。現在有很多手機數據線或者物流接收器都采用COM口與計算機相連。
RS-422 :為改進RS-232通信距離短、速率低的缺點,RS-422定義了一種平衡通信接口,將傳輸速率提高到10Mb/s,傳輸距離延長到4000英尺(速率低於100kb/s時),並允許在一條平衡總線上連接最多10個接收器。RS- 422是一種單機發送、多機接收的單向、平衡傳輸規范,被命名為TIA/EIA-422-A標准。
RS-485 :為擴展應用范圍,EIA又於1983年在RS-422基礎上制定了RS-485 標准,增加了多點、雙向通信能力,即允許多個發送器連接到同一條總線上,同時增加了發送器的驅動能力和沖突保護特性,擴展了總線共模范圍,后命名為 TIA/EIA-485-A標准。
Universal Serial Bus(通用串行總線) :簡稱USB,是目前電腦上應用較廣泛的接口規范,由Intel、Microsoft、Compaq、IBM、NEC、Northern Telcom等幾家大廠商發起的新型外設接口標准。USB接口是電腦主板上的一種四針接口,其中中間兩個針傳輸數據,兩邊兩個針給外設供電。USB接口速度快、連接簡單、不需要外接電源,傳輸速度12Mbps,新的USB 2.0可達480Mbps;電纜最大長度5米,USB電纜有4條線:2條信號線,2條電源線,可提供5伏特電源,USB電纜還分屏蔽和非屏蔽兩種,屏蔽電纜傳輸速度可達12Mbps,價格較貴,非屏蔽電纜速度為1.5Mbps,但價格便宜;USB通過串聯方式最多可串接127個設備;支持熱插拔。最新的規格是USB 3.0。
RJ-45接口 :是以太網最為常用的接口,RJ45是一個常用名稱,指的是由IEC(60)603-7標准化,使用由國際性的接插件標准定義的8個位置(8針)的模塊化插孔或者插頭。
串口屬性
1. PortName 串口名 默認值COM1
串口對於操作系統來說是一個文件,如果設置PortName為本機不存在的串口名(即文件名),如“COM7”或“COMK”,Open()打開串口將失敗,提示“端口COM7不存在”。
2. BaudRate 獲取或設置串行波特率bit/s 默認值9600
比特率=波特率X單個調制狀態對應的二進制位數。
RS232是要用在近距離傳輸上最大距離為30M
RS485用在長距離傳輸最大距離1200M
3. DataBits 獲取或設置每個字節的標准數據位長度 默認值8
當計算機發送一個信息包,實際的數據不會是8位的,標准的值是5、7和8位。如何設置取決於你想傳送的信息。比如,標准的ASCII碼是0~127(7位)。擴展的ASCII碼是0~255(8位)。如果數據使用簡單的文本(標准 ASCII碼),那么每個數據包使用7位數據。每個包
是指一個字節,包括開始/停止位,數據位和奇偶校驗位。由於實際數據位取決於通信協議的選取,術語“包”指任何通信的情況。
4. StopBits 獲取或設置每個字節的標准停止位數 默認值One
用於表示單個包的最后一位。典型的值為1,1.5和2位。由於數據是在傳輸線上定時的,並且每一個設備有其自己的時鍾,很可能在通信中兩台設備間出現了小小的不同步。因此停止位不僅僅是表示傳輸的結束,並且提供計算機校正時鍾同步的機會。適用於停止位的位數
越多,不同時鍾同步的容忍程度越大,但是數據傳輸率同時也越慢。
5. Parity 獲取或設置奇偶校驗檢查協議 默認值None
在串口通信中一種簡單的檢錯方式。有四種檢錯方式:偶、奇、高和低。當然沒有校驗位也是可以的。對於偶和奇校驗的情況,串口會設置校驗位(數據位后面的一位),用一個值確保傳輸的數據有偶個或者奇個邏輯高位。例如,如果數據是011,那么對於偶校驗,校驗
位為0,保證邏輯高的位數是偶數個。如果是奇校驗,
校驗位位1,這樣就有3個邏輯高位。高位和低位不真正的檢查數據,簡單置位邏輯高或者邏輯低校驗。這樣使得接收設備能夠知道一個位的狀態,有機會判斷是否有噪聲干擾了通信或者是否傳輸和接收
串口(COM)讀寫操作的三種方式:
第2種方式是用API寫串口通信,雖然難度高,但可以方便實現自己想要的各種功能。
第3種方式是通過采用Visual Studio 6.0中原來的MSComm控件這是最簡單的,最方便的方法,但需要注冊。