Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2341673
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:05:44

NotifyType: 是以下位或位的组合, 表示产生了包含相应的事件:

      EV_RXCHAR   收到数据
      EV_TXEMPTY  数据已经发送完毕
      EV_CTS      清除发送信号有变化 (CTS引脚电平有变化)
      EV_DSR      数据设备就绪状态有变化 (DSR引脚电平有变化)
      EV_RLSD     数据载波检测状态有变化 (DCD引脚电平有变化)
      EV_RING     有振铃信号
      EV_RXFLAG   收到可产生事件的字符, 可参考 API 函数 SetCommState
      EV_RX80FULL 接收缓存已经达到 80% 的容量, 如果是通过 Modem 等设备进行通讯, 要及时通知对方暂停发送
      EV_ERR      线路状态有错误, 包括 CE_FRAME, CE_OVERRUN 和 CE_RXPARITY.

由于 NotifyType 是位的组合, 可能同时含有两种以上的状态, 所以不能用 switch 判断, 只能用 & 判断位

void __fastcall TForm1::YbCommDevice1CommNotify(TObject *Sender, int NotifyType)
{
  if(NotifyType & RXCHAR) //收到数据
   {
   }
  if(NotifyType & TXEMPTY) //数据发送完成
   {
   }
}

--------------------next---------------------

阅读(1178) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~