




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、VS2010之MFC串口通信教程說明:本人也是剛剛入門MFC,參照一些資料和源代碼就實驗做了這么一個串口通信工具!資料來源主要有雞啄米博客網站,里面有詳細的學習教程!網上的VS2010源代碼都比較少,建議大家先理解一個源代碼的構架和結構再深入學習!本文檔可以一步一步教你從建立工程到實驗調試,是一個非常完整的教程!非常適合新手練習!賀州學院大學生創新基地實驗室在制作串口通信所遇到的問題:編輯框的滾動條不會隨著數據的更新保持在最后一行!接下來我們開始講解MFC串口通信的制作:一、 打開VS2010軟件,然后新建一個項目,如下圖所示;我們要用到就是對話框模塊,所以選擇如下圖所示最大化框最好別選,因為
2、本人現在也沒搞出來;點擊完成就新建好一個工程了,等資源就緒之后我們就可以進行制作了;我們可以看到就緒之后的界面如下圖所示,按照步驟把原來的靜態文本框和確定按鈕、取消按鈕刪掉;二、為我們的對話框添加控件添加兩個組合邊框,并放置好位置;修改組合邊框顯示的名稱;在組合邊框里面添加編輯文本框;在這一步一定要小心選擇右邊的屬性;這一步是把串口控件添加到對話框中來;選擇我們需要的串口控件如下圖所示;三、為編輯框,Combox框,串口控件添加變量;四、為按鈕和串口控件添加程序函數void C串口V2Dlg:OnBnClickedButtonOpen()/打開串口按鈕程序/ TODO: 在此添加控件通知處理程
3、序代碼?CString str,str1,n;/定義字符串GetDlgItemText(IDC_BUTTON_OPEN,str);CWnd *h1;h1=GetDlgItem(IDC_BUTTON_OPEN);/指向控件的captionif(!m_mscom.get_PortOpen()m_comb2.GetLBText(m_comb2.GetCurSel(),str1);/取得所選的字符串,并存放在str1里面str1=str1+,+n+,+8+,+1;/這句話很關鍵m_mscom.put_CommPort(m_comb1.GetCurSel()+1);/選擇串口m_mscom.put_In
4、putMode(1);/設置輸入方式為二進制方式m_mscom.put_Settings(str1);/波特率為(波特率組合框)無校驗,8數據位,1個停止位m_mscom.put_InputLen(1024);/設置當前接收區數據長度為1024m_mscom.put_RThreshold(1);/緩沖區一個字符引發事件m_mscom.put_RTSEnable(1);/設置RT允許m_mscom.put_PortOpen(true);/打開串口if(m_mscom.get_PortOpen()str=_T(關閉串口);UpdateData(true);h1-SetWindowText(str)
5、;/改變按鈕名稱為關閉串口”else m_mscom.put_PortOpen(false);if(str!=_T(打開串口)str=_T(打開串口);UpdateData(true);h1-SetWindowText(str);/改變按鈕名稱為打開串口void C串口V2Dlg:OnBnClickedButtonSend()/發送數據按鈕程/ TODO: 在此添加控件通知處理程序代碼?UpdateData(true);/更新控件數據m_mscom.put_Output(COleVariant(m_Editsend);/把發送編輯框的數據發送出去void C串口V2Dlg:OnBnClicke
6、dButtonClean()/清除數據按鈕程序/ TODO: 在此添加控件通知處理程序代碼m_EditReceive=_T();/給接收編輯框發送空格符UpdateData(false);/更新數據void C串口V2Dlg:OnBnClickedButtonClose()/退出按鈕程序/ TODO: 在此添加控件通知處理程序代碼if(m_mscom.get_PortOpen()m_mscom.put_PortOpen(false);CDialogEx:OnCancel();void C串口V2Dlg:OnCommMscomm1()/串口控件程序/ TODO: 在此處添加消息處理程序代碼if(
7、m_mscom.get_CommEvent()=2)char str1024=0;long k;VARIANT InputData=m_mscom.get_Input();/讀緩沖區COleSafeArray fs;fs=InputData;/VARIANT型變量轉換為COleSafeArray型變量for(k=0;kfs.GetOneDimSize();k+)fs.GetElement(&k,str+k);/轉換為BYTE型數組 m_EditReceive+=str; /接收到編輯框里面/SetTimer(1,10,NULL);/延時10msUpdateData(false);/ 串口選擇組
8、合框CString str;int i;for(i=0;i15;i+)str.Format(_T(com %d),i+1);m_comb1.InsertString(i,str);m_comb1.SetCurSel(0);/預置COM口/波特率選擇組合框CString str1=_T(300),_T(600),_T(1200),_T(2400),_T(4800),_T(9600), _T(19200),_T(38400),_T(43000),_T(56000),_T(57600),_T(115200);for(int i=0;iSetDlgItemTextW(IDC_EDIT1,m_EditReceive);/將m_EditReceive內容顯示到ID為IDC_EDIT1的編輯框的最后位置m_Edit.LineScroll(m_Edi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年凍干食品行業市場深度調研及發展趨勢與投資研究報告
- 2025-2030年中國黑木耳行業市場現狀供需分析及投資評估規劃分析研究報告
- 2025-2030年中國長曲棍球護齒行業市場現狀供需分析及投資評估規劃分析研究報告
- 數學思維品質題目及答案
- 2025-2030年中國酒精飲料包裝行業市場現狀供需分析及投資評估規劃分析研究報告
- 護理綜述視頻講解課件
- 高職院??蒲性u價體系與教師科研成果產出的關系
- 2025-2030年中國葡萄糖酸銅行業市場現狀供需分析及投資評估規劃分析研究報告
- 互動學習卡片套裝創新創業項目商業計劃書
- 云端安防管理平臺創新創業項目商業計劃書
- DB37T 2906-2019 運動場地合成材料面層 驗收要求
- DB34∕T 451-2017 地理標志產品 舒城小蘭花
- 《卓有成效的管理者》Word電子版電子版本
- 三生事業六大價值
- 鋯石基本特征及地質應用
- 絲網除沫器小計算
- 制缽機的設計(機械CAD圖紙)
- 學校財務管理制度
- 三年級下冊美術課件-第15課色彩拼貼畫|湘美版(共11張PPT)
- 水稻病蟲統防統治工作總結
- 水在不同溫度下的折射率、粘度和介電常數
評論
0/150
提交評論