剛剛學習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...