ulovexd
驱动牛犊
驱动牛犊
  • 注册日期2004-09-20
  • 最后登录2009-06-12
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望52点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1670回复:3

关于wince5 串口中断服务函数SerialDispatchThread的疑问

楼主#
更多 发布于:2009-02-11 13:14
在SerialDispatchThread函数中有下面语句,请问:
 /* Wait for the event that any serial port action creates.
     */
    while ( !pSerialHead->KillRxThread ) {
        DEBUGMSG (ZONE_THREAD, (TEXT("Event %X, %d\r\n"),
                                pSerialHead->hSerialEvent,
                                pSerialHead->pHWObj->dwIntID ));
        WaitReturn = WaitForSingleObject(pSerialHead->hSerialEvent, INFINITE);
      // 是不是pSerialHead->hSerialEvent 这个事件/信号变成有效的时候才能调用下面的IST函数呢?
   // 它是什么时候有效的呢?是如何有效的?
        SerialEventHandler(pSerialHead);//IST函数
       //调用IST,在这里得到中断类型,然后做收,或者发的动作。
    //这里的中断类型是不是根据UART的硬件寄存器得到的?
        InterruptDone(pSerialHead->pHWObj->dwIntID);
    }
谢谢!
dreamzqw
驱动牛犊
驱动牛犊
  • 注册日期2004-11-25
  • 最后登录2019-04-08
  • 粉丝1
  • 关注0
  • 积分19分
  • 威望182点
  • 贡献值0点
  • 好评度55点
  • 原创分1分
  • 专家分2分
沙发#
发布于:2009-02-11 21:42
pSerialHead->hSerialEvent,串口中断会触发该事件。
ulovexd
驱动牛犊
驱动牛犊
  • 注册日期2004-09-20
  • 最后登录2009-06-12
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望52点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2009-02-12 09:58
请问楼上大哥,串口中断是如何发生的?是有数据到RX线上,串口硬件会自己产生中断?谢谢
dreamzqw
驱动牛犊
驱动牛犊
  • 注册日期2004-11-25
  • 最后登录2019-04-08
  • 粉丝1
  • 关注0
  • 积分19分
  • 威望182点
  • 贡献值0点
  • 好评度55点
  • 原创分1分
  • 专家分2分
地板#
发布于:2009-02-15 11:53
串口接收到数据就会中断
游客

返回顶部