



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第C#中的串口通信SerialPort詳解今天這篇文章帶大家學(xué)習(xí)下C#中的串口通訊。在日常的開發(fā)工作中,如果工作內(nèi)容是CS方向的同學(xué)應(yīng)該很容易接觸到串口通訊方面的業(yè)務(wù)需求。那么也就很容易想到C#中SerialPort類,它就是專門來處理串口通訊相關(guān)的。
了解什么是串口通訊
串口通訊是指外設(shè)和計(jì)算機(jī)間通過數(shù)據(jù)信號(hào)線,地線,控制線等,按位進(jìn)行傳輸數(shù)據(jù)的一種通訊方式。
這種通訊方式使用的數(shù)據(jù)線少,在遠(yuǎn)距離通信中可以節(jié)約成本,但其傳輸速度比并行通訊慢。
串口是計(jì)算機(jī)上一種非常通用的設(shè)備通訊協(xié)議。大多數(shù)計(jì)算機(jī)包含兩個(gè)基于RS-232的串口。
串口也是儀器儀表設(shè)備通用的通訊協(xié)議,很多GPIB兼容的設(shè)備也帶有RS-232口,同時(shí)串口通信協(xié)議也可以用于獲取遠(yuǎn)程設(shè)備采集的數(shù)據(jù)。
串行接口是一種可以將接受來自CPU的并行數(shù)據(jù)字符轉(zhuǎn)換為連續(xù)的串行數(shù)據(jù)流發(fā)送出去,同時(shí)也可將接受的串行數(shù)據(jù)流轉(zhuǎn)換為并行的數(shù)據(jù)字符供給CPU的器件。
一般完成這種功能的電路,我們稱為串行接口電路。
串行按位(bit)發(fā)送和接收字節(jié),盡管比按字節(jié)(byte)的并行通信慢,但是串口可以在使用一根線發(fā)送數(shù)據(jù)的同時(shí)用另一根線接收數(shù)據(jù)。它很簡單并且能夠?qū)崿F(xiàn)遠(yuǎn)距離通信。
這里提一句,我們筆記本的USB口,它不是串口,它是所謂的U口,我們的串口如果需要插入到USB口,那么就需要一個(gè)RS-232轉(zhuǎn)U口的轉(zhuǎn)換器才可以。
這里需要注意下,一般我們的硬件工程師都會(huì)在自己的硬件設(shè)備都內(nèi)置這個(gè)小轉(zhuǎn)換設(shè)備,很方便。
C#中的串口通訊SerialPort
從.NETFramework2.0開始,微軟就默認(rèn)提供了System.IO.Ports.SerialPort類,根據(jù)SerialPort類提供的簡單操作步驟,可以很容易的完成串口的信息收發(fā)程序,從特定的串口中接收到數(shù)據(jù)也可以進(jìn)行數(shù)據(jù)的發(fā)送。
關(guān)于SerialPort類的應(yīng)用也很容易,可以根據(jù)微軟官方的介紹進(jìn)行使用。
配置SerialPort的名稱,端口號(hào),波特率等。打開/關(guān)閉串口接收/發(fā)送數(shù)據(jù)
SerialPortmySerialPort=newSerialPort("COM2");
mySerialPort.BaudRate=9600;
mySerialPort.Parity=Parity.None;
mySerialPort.StopBits=StopBits.One;
mySerialPort.DataBits=8;
mySerialPort.Handshake=Handshake.Non;
mySerialPort.DataReceived+=newSerialDataReceivedEvenHandler(DataReceive_Method);
mySerialPort.Open();
mySerialPort.Close();
發(fā)送數(shù)據(jù)
usingSystem.IO.Ports;
privatestaticvoidSendSampleData()
SerialPortport=newSerialPort(
"COM1",9600,Parity.None,8,StopBits.One);
port.Open();
port.Write("HelloWorld");
port.Write(newbyte[]{0x0A,0xE2,0xFF},0,3);
port.Close();
}
namespaceSerialPortExample
classSerialPortProgram
privateSerialPortport=newSerialPort("COM1",
9600,Parity.None,8,StopBits.One);
[STAThread]
staticvoidMain(string[]args)
newSerialPortProgram();
privateSerialPortProgram()
Console.WriteLine("IncomingData:");
port.DataReceived+=new
SerialDataReceivedEventHandler(port_DataReceived);
port.Open();
Application.Run();
privatevoidport_DataReceived(objectsender,SerialDataReceivedEventArgse)
Console.WriteLine(port.ReadExisting());
}
日常串口的使用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025采購合同示范文本
- 合同范本模板哪里有
- 水塔上拆遷合同范本
- 2025新房購房合同范本新房買賣合同的合同范本
- 家電轉(zhuǎn)賣維修合同范本
- 貴州茶葉合同范本
- 荒地補(bǔ)償協(xié)議合同范本
- 瓦房擴(kuò)建改造合同范本
- 出口長期供貨合同范本
- 紙箱模具采購合同范本
- 08J333 建筑防腐蝕構(gòu)造
- DL∕ T 802.7-2010 電力電纜用導(dǎo)管技術(shù)條件 第7部分:非開挖用改性聚丙烯塑料電纜導(dǎo)管
- 突發(fā)環(huán)境事件應(yīng)急預(yù)案編制要點(diǎn)及風(fēng)險(xiǎn)隱患排查重點(diǎn)課件
- 香港朗文1A-6B全部單詞(音標(biāo)版)
- CJJ57-2012 城鄉(xiāng)規(guī)劃工程地質(zhì)勘察規(guī)范
- 入廠燃料驗(yàn)收管理驗(yàn)收統(tǒng)一標(biāo)準(zhǔn)
- 2024年03月新疆烏魯木齊海關(guān)所屬事業(yè)單位招考聘用14人筆試歷年典型考題及考點(diǎn)研判與答案解析
- DZ∕T 0273-2015 地質(zhì)資料匯交規(guī)范(正式版)
- 臨滄市市級(jí)單位遴選(選調(diào))筆試真題2021
- 腫瘤放射治療質(zhì)量控制規(guī)范
- 2024年度企業(yè)社會(huì)責(zé)任報(bào)告模板
評論
0/150
提交評論