c wifi串列埠通訊 C 中的串列埠通訊

2021-10-12 23:51:37 字數 2557 閱讀 5953

序列介面(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 :也稱標準串列埠,是目前最常用的一種序列通訊介面。它是在2023年由美國電子工業協會(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又於2023年在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)讀寫操作的三種方式:

第1種方式是採用微軟在.net2.0推出了乙個串列埠控制項,serialport類,但必須是.net2.0才可以。

第2種方式是用api寫串列埠通訊,雖然難度高,但可以方便實現自己想要的各種功能。

第3種方式是通過採用visual studio 6.0中原來的mscomm控制項這是最簡單的,最方便的方法,但需要註冊。

C 串列埠通訊

串列埠通訊類 serialportdao.csusing system using system.collections.generic using system.text using system.io.ports namespace ly.fuelstationpos.protocol set ...

C 串列埠通訊

本文 串列埠介紹 串列埠叫做序列介面,也稱序列通訊介面,按電氣標準及協議來分包括rs 232 rs 422 rs485 usb等。rs 232 c rs 422與rs 485標準只對介面的電氣特性做出規定,不涉及接外掛程式 電纜或協議。usb是近幾年發展起來的新型介面標準,主要應用於高速資料傳輸領域...

C 串列埠通訊

但是網上好多都是寫的窗體程式 還有各種複雜的類裡面,看起來很費勁兒,所以我這裡就寫了乙個 只有控制台 只有 乙個主函式類 類似於c語言結構化的方式,把真的的問題暴露出來,重點凸出來.大概步驟就是 檢測串列埠是否存在以及數量 定義乙個埠控制代碼 serialport 設定埠控制代碼的資訊 埠號,波特率...