3102|8

99

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

回gooogleman前面问串口的问题 [复制链接]

好久没来了。。刚把自己手头的事搞完看了下自己记录的你的问题!
    pSerObj->BindFlags = THREAD_IN_PDD;     // PDD create thread when device is first attached.
    //——这个pSerObj->dwIntID 在线程中用到,奇怪的是怎么会是注册表DeviceArrayIndex的值呢?
    pSerObj->dwIntID = DeviceArrayIndex;   // Only it is useful when set set THREAD_AT_MDD. We use this to transfer DeviceArrayIndex
其实你搜一下就发现

  1. SerInit(
  2.        ULONG   Identifier, // @parm Device identifier.
  3.        PVOID   pMddHead,   // @parm First argument to mdd callbacks.
  4.        PHWOBJ  pHWObj      // @parm Pointer to our own HW OBJ for this device
  5.        )
  6. {
  7.     DEBUGMSG (ZONE_CLOSE,(TEXT("+SerInit, 0x%X\r\n"), Identifier));
  8.     CSerialPDD * pSerialPDD = NULL;
  9.     if (pHWObj) {
  10.         DWORD dwIndex= pHWObj->dwIntID; //这里
  11.         pHWObj->dwIntID = 0;  //然后清零
  12.         pSerialPDD = CreateSerialObject((LPTSTR)Identifier,pMddHead, pHWObj,dwIndex);
  13.     }
  14.     if (pSerialPDD==NULL) {
  15.         ASSERT(FALSE);
  16.         LocalFree(pHWObj);
  17.     }
  18.     DEBUGMSG (ZONE_CLOSE,(TEXT("-SerInit, 0x%X\r\n"), pSerialPDD));
  19.     return pSerialPDD;
  20. }
复制代码

在这里它只是pSerObj->dwIntID这个传递了以下pHWObj->dwIntID
后面清零了.
这个函数在你调用硬件相关函数时被调用,所以至于你要初始化硬件和系统中断,那么硬件中断还是要写在注册表中的.我的理解:) 

ps:不常逛论坛,问题放了这么久.不好意思:)

最新回复

闪了...工作了   详情 回复 发表于 2009-3-12 13:26
点赞 关注

回复
举报

63

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
貌似gooogleman消失了。
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
引用 1 楼 papapa123123 的回复:
貌似gooogleman消失了。


不是消失了,我是对零分帖子一律不回答。

 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

4
 
你的不是答案。
正确的答案,我在原帖已经说了答案了,哈哈,其实就是一个宏定义。

4.2和5.0BSP启动线程的方式有点差别而已,
不过还是谢谢你。
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

5
 
引用 2 楼 gooogleman 的回复:
引用 1 楼 papapa123123 的回复:
貌似gooogleman消失了。


不是消失了,我是对零分帖子一律不回答。


收回,我以为有人直接开帖问我问题还发个零分帖子呢。

(*^__^*) 嘻嘻……,习惯性,和91站在同一立场。


我最近确实少来了,一个是不想这么玩了,还有就是我被派出去做保安,守护机器去了。郁闷啊。
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

6
 
对..在这儿它只是传递一下DeviceArrayIndex
pSerialPDD = CreateSerialObject((LPTSTR)Identifier,pMddHead, pHWObj,dwIndex);
根据传递过来创建一个串口的实例。
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

7
 
呵呵没多少分数阿,刚看了下你的帖子。我的理解是在绑定中断前pHWObj->dwIntID = 0; 已经被清零了。估计硬件中断在清零后就传递过来了。
我搞上层应用和UI设计的
,可能理解也不对,仅供参考。
现在公司现在让我看底层的,有点小郁闷,马上估计要移植16c554的驱动到9261的wince上。
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

8
 
好东西
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

9
 
闪了...工作了
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表