VS2010編寫的MFC串列埠程式

2021-07-04 12:57:18 字數 1639 閱讀 8900

剛剛學習mfc串列埠通訊,除錯了乙個串列埠通訊的程式,實現pc機與微控制器的串列埠通訊,能夠正常地收發資料。部分源**如下:

// 開啟串列埠函式

void ccommtestdlg::onbnclickedbuttonopen()

//m_mscomm.put_commport(1); //選擇com1

m_mscomm.put_commport((m_comb1.getcursel()+1)); //選擇com口

m_mscomm.put_inbuffersize(1024); //接收緩衝區

m_mscomm.put_outbuffersize(1024);//傳送緩衝區

m_mscomm.put_inputlen(0);//設定當前接收區資料長度為0,表示全部讀取

m_mscomm.put_inputmode(1);//以二進位制方式讀寫資料

m_mscomm.put_rthreshold(1);//接收緩衝區有1個及1個以上字元時,將引發接收資料的oncomm事件

//m_mscomm.put_settings(_t("9600,n,8,1"));//波特率9600,無檢驗位,,1個停止位8個資料位

m_mscomm.put_settings(str1);//波特率 ,無檢驗位,,1個停止位8個資料位

if(!m_mscomm.get_portopen())//如果串列埠沒有開啟則開啟

else }

// 關閉串列埠函式

void ccommtestdlg::onbnclickedbuttonclose()

// 傳送函式

void ccommtestdlg::onbnclickedbuttonsend()

begin_eventsink_map(ccommtestdlg, cdialogex)

on_event(ccommtestdlg, idc_mscomm1, 1, ccommtestdlg::oncommmscomm1, vts_none)

end_eventsink_map()

// 事件處理函式

void ccommtestdlg::oncommmscomm1()

; byte rxdata[1024]; //設定 byte 陣列

cstring strtemp;

if(m_mscomm.get_commevent()==2) //值為 2 表示接收緩衝區內有字元

/*//將接收到的資料總數在傳送視窗顯示出來

m_editsend.empty(); //傳送後清空輸入框

strtemp.format(_t("%d"),totallen);

m_editsend+=strtemp;

updatedata(false); //更新編輯框內容

*/for(k=0;ksetdlgitemtextw(idc_edit2,m_editreceive);//將m_editreceive內容顯示到id為idc_edit2的編輯框的最後位置

m_edit.linescroll(m_edit.getlinecount()-1,0);//將垂直滾動條滾動到最後一行

}// 清空顯示函式

void ccommtestdlg::onbnclickedbuttoncleardispaly()

VS2010 基於MFC 的串列埠通訊上位機總結

vs2010 基於mfc 串列埠通訊上位機,實現串列埠傳送 接收資料及接收資料儲存。開啟vs2010 建立 mfc應用程式,選擇基於對話方塊類 勾選最大化框 最小化框後 選擇下一步完成。void c串列埠dlg onbnclickedbuttonopen else 串列埠開啟 關閉 圖示顯示 首先,...

VS2010用Winform編寫 Excel程式

如題,遇到問題 未能載入檔案或程式集 office,version 7.0.3300.0,culture neutral,publickeytoken b03f5f7f11d50a3a 或它的某乙個依賴項。系統找不到指定的檔案。在網上搜了很久,都說的版本不同問題,但沒有給出明確的解決資訊 1.安裝 ...

vs2010編寫的簡單socket聊天

伺服器端 server.cpp 定義控制台應用程式的入口點。mfc用來了解win的作業系統的核心 include stdafx.h include 引入標頭檔案 pragma comment lib,ws2 32.lib 載入動態庫 int tmain int argc,tchar ar print...