如题:我想用WM_COMM_TXEMPTY_DETECTED来判断接收结束,怎么不能用呢?
书上说WM_COMM_TXEMPTY_DETECTED消息表示串口发送文件完毕,但实现不了啊
afx_msg LONG OnComClose(WPARAM ch,LPARAM port);
ON_MESSAGE(WM_COMM_TXEMPTY_DETECTED, OnClose)
LONG CReadData::OnComClose(WPARAM ch,LPARAM port)
{
MessageBox("数据接收完毕");
}
大侠帮我解决一下问题啊,最近我被串口缠绕。。极度晕中!!!!
书上说WM_COMM_TXEMPTY_DETECTED消息表示串口发送文件完毕,但实现不了啊
afx_msg LONG OnComClose(WPARAM ch,LPARAM port);
ON_MESSAGE(WM_COMM_TXEMPTY_DETECTED, OnClose)
LONG CReadData::OnComClose(WPARAM ch,LPARAM port)
{
MessageBox("数据接收完毕");
}
大侠帮我解决一下问题啊,最近我被串口缠绕。。极度晕中!!!!
http://blog.csdn.net/benny_cen/archive/2009/03/29/4033517.aspx
#define WM_COMM_TXEMPTY_DETECTED WM_USER+9
然后在类里添加了
if (CommEvent & EV_TXEMPTY)
::SendMessage(port->m_pOwner->m_hWnd, WM_COMM_TXEMPTY_DETECTED, (WPARAM) 0, (LPARAM) port->m_nPortNr);
再然后就只要一传输数据就显示“数据接收完毕”,就接收不到数据了。把这两句注释掉后就传输正常了,只是传输完成后没有显示“数据接收完毕”。真的是晕死我了!!!!!!!