版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、xinzrjav 原創(chuàng), 轉(zhuǎn)戲 N;汴明, 0迎分xinzrja、咆a a. comQQ: 1172956011用MFC的MSComm控件編寫串口通信助手1. Obeta首先說(shuō)明*1本教程是作者辛苫學(xué)習(xí)Z后寫出來(lái)的,學(xué)Z前都覺(jué)得很難,MFC忘了好兒年了,串II通信也不是很 悄。但是現(xiàn)在覺(jué)得很簡(jiǎn)單了,因?yàn)橛肕FC編寫東兩,很多時(shí)候并不需耍具體了解底層,知道-些類,函 數(shù)就可以了.網(wǎng)站這樣的教程一大堆,很多牛人N年前都己經(jīng)玩熟了。2本人主要借鑒的是 糞建偉的oC串口通信編程實(shí)踐這本書,真的很不錯(cuò),人 家町以去借來(lái)看看,基本町以無(wú)視我的東西了。Z所以寫這個(gè)是因?yàn)榫W(wǎng)上好多都人省略了,而n界面什么 的都
2、不是我想耍的。3由J:是1.0的版本,功能很弱,寫的也盡可能的詳細(xì),以后月時(shí)間會(huì)寫后續(xù)版本,當(dāng)然不會(huì)這樣詳 細(xì)了。4好! Lefs begm !首先,打開(kāi)VC 6.0,新建一個(gè)MFC T程,我們命名為SCommTesto確定。選擇程庁類型為卑本對(duì)話框。卜一步,因?yàn)槭菃螌?duì)話框沒(méi)有菜單,所以 關(guān)于對(duì)話框 可以不要。xinzr iav 陳創(chuàng), 竽多我盂注I嘰,*欠迎 分 /學(xué)習(xí)。xinzriavaa comQQ: 1172956011卜而的不用改,一直卜一步,或者直接完成即可。好了, 一個(gè)簡(jiǎn)單的対話框默認(rèn)界而生成了??纯词遣皇沁@樣的?SComniTcsl resourcesKislog3 IDD.S
3、COMMILSIDIAJ J Icon1 IDR MAJNFKAME二 VersionO VS VERSION INFOQo S#xinzr iav 陳創(chuàng), 竽多我盂注I嘰,*欠迎 分 /學(xué)習(xí)。xinzriavaa comQQ: 1172956011我們刪掉原來(lái)的兩個(gè)按鈕和一個(gè)靜態(tài)文本,在標(biāo)題欄上右鍵屈件.然后更改標(biāo)題名稱為自己喜歡的.我寫 的是串II通信助T- l.Obetao默認(rèn)是小五的字體也比較小,可以改人點(diǎn)。注意字體改變后整個(gè)界面也變?nèi)?了,所以最好現(xiàn)在就改,以后界而布局弄好Z后再改就述耍重新布局。卜面就開(kāi)始畫我們程序的界面啦!開(kāi)始!首先畫兩個(gè)組框.分別為顯示區(qū)和發(fā)送區(qū)。然后在顯示區(qū)內(nèi)
4、部畫一個(gè)編輯框,ID改為IDC_EDIT_RECV。 樣式更改如卜:串口通營(yíng)肋手1.0 beta顯示區(qū)編輯Edit展性X七紀(jì)常規(guī)樣式擴(kuò)展樣式|排列文本兇:廠水平滾動(dòng)0廠密碼回應(yīng)邊框回1靠左日r自動(dòng)水平滾動(dòng)m廠沒(méi)有隱藏選擇(Dr大寫厘任多行(MJ療垂直滾動(dòng)凹廠OEM轉(zhuǎn)換()r小寫(U廠數(shù)字療自動(dòng)垂直滾動(dòng)固直需要返回(W)巨只讀好,卜面再在發(fā)送區(qū)內(nèi)畫-個(gè)編輯框 ID改為IDC EDIT SEND,樣式更改如卜:莊邊框回廠大寫(U)廠小寫(U廠只讀(0)最后同一個(gè)發(fā)送按饑就人功告成啦!按鈕ID改為IDC_BUTTON_SEND。 好,運(yùn)行下看看!當(dāng)然什么功能都沒(méi)有,只是有個(gè)界面。般終界面如卜:5xi
5、nzr iav 原倉(cāng)h 轉(zhuǎn)載需注明,歡迎分;八#習(xí)。xinzr iavaa com:1172956011卜而我們耍為工程添加-個(gè)MSconun控件,就是這個(gè)控件為我們完成出丨1通倍的功能。工程世)姐建布局工具(!)窗口幫肋0)設(shè)置活動(dòng)工程(V)増加到工程(&)從屬性設(shè)宣導(dǎo)岀制作文件.A11+F7插入工程到工作空間a).null 阪I駁新建 酸新建文件夾迪.&文件E)鳴數(shù)據(jù)連接).Components wd Ccrtrols 點(diǎn)開(kāi)Components and Contiols 等卜,就會(huì)1B現(xiàn)卜面的界illCosponents and Controls Gallery選擇要插入到工程的組件查找范
6、圍Q:叵 Gall ery_j Regi stered ActiveX Controls hVisual C+* ComponentsInsert文件名QI):關(guān)閉(0#xinzr iav 原創(chuàng),車多載盂,匸明,X犬迎 分 7 習(xí)。xinzr idaacom:11729560117xinzr iav 原創(chuàng),車多載盂,匸明,X犬迎 分 7 習(xí)。xinzr idaacom:1172956011我們選擇第個(gè)文件夾,選擇 Microsoft Communications Controls, version 6.0然Ju insert,彈IB 的對(duì)話 框中選擇確認(rèn),再?gòu)棾龅膶?duì)話框中選OK,最后關(guān)閉。Co
7、bponents and Controls Gallery? |txtcmp fif (m_cComm. GetCommEvent ()=2) 值為2表示接收緩沖區(qū)內(nèi)右7符variantinpmcComm Get Input 0 ;/i賣緩沖區(qū)消息safearray_inp=variant_inp;/變;d 轉(zhuǎn)換len=safearray_inp. GetOneDimSize 0 ;/得到仃效的數(shù)據(jù) K;度f(wàn)or(k=0;klen;k+)safearray_inp. GetElement(&k, rxdata+k);for(k=0 ;klen; k+)/將數(shù)組轉(zhuǎn)換為CString型變彊char
8、 bt=*(char*) (rxdata+k) ; /字符型strtemp. Format bt) ; /將字符送入臨時(shí)變t strtemp彳fjj攵 m_strRecvData+=strtemp; /加入接收編輯fl 1對(duì)應(yīng)字符串CString temp二(rn) ;/顯示完成后耍口動(dòng)換彳m_strRecvData=temp;UpdateData (FALSE); 更新編輯框內(nèi)容/ 3.我們添加發(fā)送按鈕OnButtonSendO發(fā)送數(shù)據(jù)的過(guò)程void CSCommTestDlg::OnButtonSend 0/ TODO: Add your control notification hand
9、ler code here/單擊發(fā)送按鈕的操作UpdateData(true) ; /讀取編輯框內(nèi)容m_cComm. SetOutput (COleVariant (m_strSendData) ;/發(fā)送數(shù)據(jù) m_strSendData. Empty 0 ; /發(fā)送后涓空輸入框UpdateData(false); 更新編績(jī)框內(nèi)容對(duì)發(fā)送的數(shù)據(jù)進(jìn)行強(qiáng)制類型轉(zhuǎn)換,ft! CString字符申數(shù)據(jù)轉(zhuǎn)換為VARIANT類也 /好啦!簡(jiǎn)單吧!代碼其實(shí)并不長(zhǎng),當(dāng)然這是在功能很簡(jiǎn)單的情況卜。讓我們運(yùn)彳J: 一下看看!沒(méi)錯(cuò)的話 就0K啦!這里大家可能耍問(wèn)了,如果我身邊沒(méi)有串口怎么測(cè)試呢?年常簡(jiǎn)單,用一根細(xì)鐵絲將
10、自己電諭后面的串口的2311血接起來(lái),就可以實(shí)現(xiàn)自發(fā)自收啦! 下而就來(lái)檢驗(yàn)卜我們自己寫的小程序吧!1.氣 MSC0MM32 OCX I汛ActiveX控件5102 訂這里我們發(fā)現(xiàn),盡管我們發(fā)送的數(shù)據(jù)是 氏出,但是出II給我們發(fā)送回來(lái)的仃時(shí)卻是8個(gè)或8個(gè)的倍為 一組的,這是串I I自己傳輸?shù)臅r(shí)候進(jìn)行的分段,如果不喜歡可以在接收的時(shí)候不門動(dòng)加入冋乍符即可!這里還有一個(gè)問(wèn)題,如果你把寫好的程序,就是debug卜的exe文件傳給同學(xué),如果他的電腦沒(méi)有裝 VC+,你會(huì)驚奇的發(fā)現(xiàn)這個(gè)程序是打不開(kāi)的!這該怎么辦呢?難道為了這個(gè)小小的程序還耍裝個(gè)VC? ?肖然不用了。這是因?yàn)檫@個(gè)程序中用到的MSComm組件不是注冊(cè)組件,不是每臺(tái)電腦上都有的,你需 要做的就是在你自己的電腦上搜索到這個(gè)文件:MSCOMM32. OCX(見(jiàn)右上圖)。然后把它復(fù)制到耍運(yùn)行這個(gè)fV 序的電腦上個(gè),然后點(diǎn)丿I始菜單-運(yùn)彳j輸入cmd回車-輸入regsvr32路徑MSCOMM32. OCX回車即可注 冊(cè)該組件。加入該文件在D盤,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 城市排水辦公樓施工合同
- 紡織品采購(gòu)招標(biāo)法律培訓(xùn)
- 市政工程電力招投標(biāo)技術(shù)規(guī)范本
- 通信網(wǎng)絡(luò)監(jiān)理管理規(guī)程
- 地鐵換乘站隧洞施工合同
- 紡織維修工具管理辦法
- 建筑行業(yè)電力工程安裝合同
- 公交站點(diǎn)候車亭設(shè)施維修
- 科研實(shí)驗(yàn)中心建設(shè)合同
- 設(shè)備租賃合同:攝影器材
- T-CACM 1420-2022 中成藥安慰劑模擬效果評(píng)價(jià)規(guī)范
- 正確認(rèn)識(shí)人的本質(zhì)
- 兒童心理學(xué)教育培訓(xùn)家庭教育輔導(dǎo)
- 2024年北京排水集團(tuán)招聘筆試沖刺題(帶答案解析)
- 感恩心態(tài)在組織變革中的作用
- 藥用輔料大全課件
- Vlog創(chuàng)作全流程(剪映短視頻創(chuàng)作案例教程)
- Unit3ConservationLesson3TheRoadtoDestruction課件-北師大版選擇性
- 學(xué)校設(shè)備排查方案
- 阿聯(lián)酋分析報(bào)告
- 聲音的數(shù)字化課件
評(píng)論
0/150
提交評(píng)論