有关串口编程中奇怪的if语句???

zhl75831181 2006-12-01 09:56:47
void CComDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
if (10 == nIDEvent)
{

LONG len,k;
BYTE rxdata[1024]; //设置BYTE数组 An 8-bit integerthat is not signed.
CString strtemp;
MessageBox ("ok1");
if(m_com.GetCommEvent() == 2) //事件值为2表示接收缓冲区内有字符
{ MessageBox ("ok2");


我贴如上代码,
当我调试的时候(F5)它运行正常,但是我运行的时候(ctrl+f5)时,它进不了if语句,后来我把if语句//掉后,发现缓存里面是有数据的,但是就是运行的时候它判断不出,请教各位,谢谢了!!!
...全文
244 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhl75831181 2006-12-05
  • 打赏
  • 举报
回复
刚学VC,事件方式不是很了解,不过你的if(m_com.InBufferCount>0)能行,谢谢:)
alexmayer 2006-12-04
  • 打赏
  • 举报
回复
不过建议还是用事件方式较好
alexmayer 2006-12-04
  • 打赏
  • 举报
回复
用定时器你就不要用这样的语句if(m_com.GetCommEvent() == 2) ,应该if(m_com.InBufferCount>0)
zhl75831181 2006-12-04
  • 打赏
  • 举报
回复
我用的是定时器啊
zaodt 2006-12-01
  • 打赏
  • 举报
回复
m_com.SetRThreshold(5);//每接收5个字符则激发OnComm()事件


你上面这句设定了吗?

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧