?? d036.bmp.txt
字號:
(3)添加串口事件消息處理函數(shù)CSerialCommDlg::OnCommMscomm0
MSComm控件一般用事件驅(qū)動方式來從串口接收數(shù)據(jù),也就是消息處理,當(dāng)串口有事
件發(fā)生時,程序調(diào)用消息函數(shù)來處理數(shù)據(jù)。如圖2-8所示,打開“MFC ClassWizard”一“Message
Maps”,在“Class name”下拉列表中選擇“CserialCommDlg”,再在“Object IDs”框中選中
“IDC MSCOMM”,然后在“Messages”框中雙擊消息“OnComm”,或者單擊選中消息“OnComm”
后,再單擊“Add Function”按鈕,在彈出的對話框中將函數(shù)名改為OnCommMscomm0,單擊“OK”
按鈕,就可以加入串口處理函數(shù)了。
圖2-8給MSComm控件添加消息函數(shù)
串口消息的處理函數(shù)如下,請讀者要注意控件引起的事件的處理方法,分別為發(fā)送、數(shù)
據(jù)到達(dá)、奇偶校驗(yàn)錯誤等事件。
void CSerialCommDlg::OnCommMscomm()
{
UpdateData(TRUE); //取控件的數(shù)據(jù)
switch(m_COM.GetCommEvent(》刪弋表控件引起的事件
{
casel://comEvSend辜件 ‘
{
,,如有數(shù)據(jù)要發(fā)送,可采用以下代碼:
OnSend0;
)
break; ‘
case 2://comEvReceiv事件,有數(shù)據(jù)到達(dá)
{
VARIANT variant_inp;
COleSafeArray safearray_inp;
LONG len,k; ‘
BYTE rxdata[20481;,/設(shè)置BYTE數(shù)組An 8-bit integerthat is not signed.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -