社区导航

 

搜索
查看: 2040|回复: 1

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

[复制链接]

112

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-2-11 13:15 | 显示全部楼层 |阅读模式

  1. 在SerialDispatchThread函数中有下面语句,请问:
  2. /* Wait for the event that any serial port action creates.
  3.      */
  4.     while ( !pSerialHead->KillRxThread ) {
  5.         DEBUGMSG (ZONE_THREAD, (TEXT("Event %X, %d\r\n"),
  6.                                 pSerialHead->hSerialEvent,
  7.                                 pSerialHead->pHWObj->dwIntID ));
  8. [color=#FF0000]WaitReturn = WaitForSingleObject(pSerialHead->hSerialEvent, INFINITE);[/color]        

  9.              // 是不是pSerialHead->hSerialEvent 这个事件/信号,变成有效的时候才能调用下面的IST函数呢?
  10.               // 它是什么时候有效的呢?是如何有效的?
  11.     [color=#FF0000]SerialEventHandler(pSerialHead);//IST函数[/color]
  12.         //调用IST,在这里得到中断类型,然后做收,或者发的动作。
  13.        //这里的中断类型是不是根据UART的硬件寄存器得到的?
  14.         InterruptDone(pSerialHead->pHWObj->dwIntID);
  15.     }
  16. 谢谢!
复制代码
此帖出自WindowsCE论坛

113

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-2-11 13:53 | 显示全部楼层
引用 2 楼 ultrapro 的回复:
pSerialHead->pHWObj->dwIntID赋值的地方看看


终于有人问我相同的问题了,这个我看代码是注册表DeviceIndex的值。并不是什么串口中断,我很奇怪,这个东西居然能启动线程。我不相信,刚才就编译个debug版本的NK来看,但是居然没有信息打印出来,让我相当郁闷。楼主要想知道这个是什么东西,只能通过打印信息才行。

你试试吧。我现在正在分析原因。


pSerialHead->hSerialEvent 是MDD线程的串口线程句柄。通常作用是绑定中断,用中断来启动线程。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 1/6 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-6-1 01:52 , Processed in 0.115621 second(s), 21 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表