版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于VS2010串口通信的快速開發(fā)1、開發(fā)環(huán)境:基于VS2010的串口通信程序,語言:c#2、方法有幾個(gè)?方法1:使用SerialPort組件,“勉強(qiáng)”可以。方法2:使用ComY組件,絕對(duì)可以。方法3:使用ComZ控件,絕對(duì)可以。3、第一個(gè)例子(方法2)3.1、新建項(xiàng)目TestComY,并拖放如下控件/組件并定義其名稱如下表。序號(hào)控件類型控件名稱用途顯示信息備注01RichTextBoxRxRichTextBox顯示接收接收區(qū)02RichTextBoxTxRichTextBox輸入發(fā)送數(shù)據(jù)1234567890發(fā)送區(qū)03TextBoxRxTextBox顯示接收數(shù)量計(jì)數(shù)器值04TextBoxTxTextBox顯示發(fā)送數(shù)量計(jì)數(shù)器值05labellabel1指示接收計(jì)數(shù)區(qū)R計(jì)數(shù)器標(biāo)識(shí)06labelLabel2指示發(fā)送計(jì)數(shù)區(qū)T計(jì)數(shù)器標(biāo)識(shí)07ButtonBtnClearCounter清空計(jì)數(shù)器值清零08ButtonBtnComOpen打開串口打開09ButtonBtnComClose關(guān)閉串口關(guān)閉10ButtonBtnComTx發(fā)送數(shù)據(jù)區(qū)的數(shù)據(jù)發(fā)送11ButtonBtnComRx接收并顯示數(shù)據(jù)接收12comYcomY1通信組件通信服務(wù)效果圖如下3.2、編寫代碼雙擊界面中的五個(gè)按鈕得到如下代碼。namespaceTestComY{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidBtnComTx_Click(objectsender,EventArgse){}privatevoidBtnComRx_Click(objectsender,EventArgse){}privatevoidBtnComOpen_Click(objectsender,EventArgse){}privatevoidBtnComClose_Click(objectsender,EventArgse){}privatevoidBtnClearCounter_Click(objectsender,EventArgse){}}}3.3、打開串口privatevoidBtnComOpen_Click(objectsender,EventArgse){comY1.SetPortPara("COM1",115200);comY1.Open();BtnComOpen.Enabled=false;BtnComClose.Enabled=true;}3.4、關(guān)閉串口privatevoidBtnComClose_Click(objectsender,EventArgse){comY1.Close();BtnComClose.Enabled=false;BtnComOpen.Enabled=true;}3.5、發(fā)送數(shù)據(jù)及顯示發(fā)送數(shù)據(jù)量privatevoidBtnComTx_Click(objectsender,EventArgse){comY1.Send(TxRichTextBox.Text);TxTextBox.Text=comY1.TxCounterVal.ToString();}3.6、接收數(shù)據(jù)及顯示接收數(shù)據(jù)量privatevoidBtnComRx_Click(objectsender,EventArgse){if(comY1.IsGotNewData()==true)RxRichTextBox.Text+=comY1.GetRxHexWithBlankString();RxTextBox.Text=comY1.RxCounterVal.ToString();}3.7、清空計(jì)數(shù)器privatevoidBtnClearCounter_Click(objectsender,EventArgse){RxTextBox.Text="";TxTextBox.Text="";comY1.RxCounterVal=0;comY1.TxCounterVal=0;}3.8、代碼量實(shí)現(xiàn)基本功能全部代碼不到50行,如下圖3.8、運(yùn)行效果圖3.8.1、打開串口3.8.2、發(fā)送數(shù)據(jù)3.8.3、接收數(shù)據(jù)3.8.4、關(guān)閉串口點(diǎn)發(fā)送3.9、發(fā)送接收中文及ASCII3.9.1、打開串口修改如下privatevoidBtnComOpen_Click(objectsender,EventArgse){comY1.SetPortPara("COM1",115200);comY1.IsHexMode=false; //添加代碼comY1.Open();BtnComOpen.Enabled=false;BtnComClose.Enabled=true;}3.9.2、接收代碼修改如下privatevoidBtnComRx_Click(objectsender,EventArgse){if(comY1.IsGotNewData()==true){if(comY1.IsHexMode==true) //添加代碼RxRichTextBox.Text+=comY1.GetRxHexWithBlankString();elseRxRichTextBox.Text+=comY1.GetRxAsciiString(); //添加代碼}RxTextBox.Text=comY1.RxCounterVal.ToString();}3.9.3、運(yùn)行效果圖如下4、第2個(gè)例子(方法3)4.1、新建窗體工程(testComZ)及添加控件如下表序號(hào)控件類型控件名稱用途顯示信息備注01RichTextBoxRxBox顯示接收接收區(qū)02RichTextBoxTxBox輸入發(fā)送數(shù)據(jù)12345678發(fā)送區(qū)03TextBoxRxTextBox顯示接收數(shù)量計(jì)數(shù)器值04TextBoxTxTextBox顯示發(fā)送數(shù)量計(jì)數(shù)器值05labelLabel2指示接收計(jì)數(shù)區(qū)發(fā)送計(jì)數(shù)器標(biāo)識(shí)06labelLabel3指示發(fā)送計(jì)數(shù)區(qū)接收計(jì)數(shù)器標(biāo)識(shí)07ButtonbtnClean清空計(jì)數(shù)器值清零08ButtonbtnTx發(fā)送數(shù)據(jù)區(qū)的數(shù)據(jù)發(fā)送09ButtonBtnRx接收并顯示數(shù)據(jù)接收10comZcomZ1通信組件通信服務(wù)效果圖如下4.2、編寫代碼雙擊界面上的按鈕得到如下代碼namespacetestComZ{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidbtnTx_Click(objectsender,EventArgse){}privatevoidBtnRx_Click(objectsender,EventArgse){}privatevoidbtnClean_Click(objectsender,EventArgse){}}}4.3、發(fā)送數(shù)據(jù)及顯示發(fā)送數(shù)據(jù)量privatevoidbtnTx_Click(objectsender,EventArgse){UInt32txcounter;comZ1.Send(TxBox.Text);txcounter=comZ1.TxCounterVal;TxTextBox.Text=txcounter.ToString();}4.4、接收數(shù)據(jù)及顯示接收數(shù)據(jù)量privatevoidBtnRx_Click(objectsender,EventArgse){if(comZ1.IsGotNewData()==true){if(comZ1.IsHexMode==true)RxBox.Text+=comZ1.GetRxStringAndHexWithBlank();elseRxBox.Text+=comZ1.GetRxAsciiString();RxTextBox.Text=comZ1.RxCounterVal.ToString();}}4.5、清零計(jì)數(shù)器privatevoidbtnClean_Click(objectsender,EventArgse){comZ1.TxCounterVal=0;comZ1.RxCounterVal=0;TxTextBox.Text=comZ1.TxCounterVal.ToString();RxTextBox.Text=comZ1.RxCounterVal.ToString();}4.6、運(yùn)行效果圖4.6.1、打開串口4.6
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東外語外貿(mào)大學(xué)南國商學(xué)院《材料測(cè)試技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東司法警官職業(yè)學(xué)院《固體廢棄物處理與處置實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東石油化工學(xué)院《影視校色》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東生態(tài)工程職業(yè)學(xué)院《現(xiàn)代家庭教育》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東輕工職業(yè)技術(shù)學(xué)院《AutoCAD》2023-2024學(xué)年第一學(xué)期期末試卷
- 一年級(jí)數(shù)學(xué)(上)計(jì)算題專項(xiàng)練習(xí)集錦
- 2024八年級(jí)地理上冊(cè)專項(xiàng)訓(xùn)練五中國的經(jīng)濟(jì)發(fā)展習(xí)題課件晉教版
- 七年級(jí)下冊(cè)英語教案
- 2025年九年級(jí)統(tǒng)編版語文寒假預(yù)習(xí) 08 九下第六單元課預(yù)習(xí)
- 【2021屆備考】2020年全國各地名校生物試題分類解析匯編:K單元-生態(tài)系統(tǒng)與生態(tài)環(huán)境的保護(hù)
- 《國際經(jīng)濟(jì)與貿(mào)易》考試復(fù)習(xí)題庫(含答案)
- 高中日語(新版標(biāo)準(zhǔn)日本語初級(jí)上冊(cè))全冊(cè)復(fù)習(xí)總結(jié)課件
- 教師資格考試小學(xué)心理健康面試試題與參考答案(2024年)
- 2024年國家開放大學(xué)本科《知識(shí)產(chǎn)權(quán)法》第一至四次形考任務(wù)試題及答案
- 2024-2025學(xué)年人教版高二上學(xué)期期末語文試卷與參考答案
- 國有企業(yè)考勤制度管理辦法
- 濾波器計(jì)算器
- 人教版六年級(jí)上冊(cè)道德與法治知識(shí)點(diǎn)
- 期貨從業(yè)資格(期貨基礎(chǔ)知識(shí))歷年真題試卷匯編27
- 人工智能學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 北師大版(2019)必修第二冊(cè)Unit 5 Humans and nature Lesson 3 Race to the pole教學(xué)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論