3280|2

1

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

使用WinDriver的WDC_IntEnable函数 不能把设置好的传输命令传递给内核。为什么.. [复制链接]

代码如下:

  WD_TRANSFER trans[3];
BZERO(trans);

trans[0].cmdTrans=RP_BYTE;    //从INTCSR I / O端口读取一个BYTE
trans[0].dwPort=((RECVPARAM *)pParam)->deviceInfo.Card.Item[3].I.IO.dwAddr;
trans[0].fAutoinc=FALSE;
trans[0].dwOptions=0;

trans[1].cmdTrans=CMD_MASK;
trans[1].Data.Byte=0x3;
trans[1].fAutoinc=FALSE;
trans[1].dwOptions=0;

trans[2].cmdTrans=WP_BYTE;
trans[2].dwPort = ((RECVPARAM *)pParam)->deviceInfo.Card.Item[3].I.IO.dwAddr;
trans[2].Data.Byte=0x1;
trans[2].fAutoinc=FALSE;
trans[2].dwOptions=0;

int_satatus = WDC_IntEnable(((RECVPARAM *)pParam)->hDev, trans, 3, 0,IntTest1, (LPVOID)par1, FALSE);

while (WaitForSingleObject(phOsEvent, 0)!=WAIT_OBJECT_0)//等待事件发生
{
};


这个传输命令trans是为了确认并清除中断的,但是放在WDC_IntEnable()里却没有起作用。
         我把 trans 删了只写一句WDC_IntEnable(((RECVPARAM *)pParam)->hDev, trans, 3, 0,IntTest1, (LPVOID)par1, FALSE);依然能收到中断,不能清除中断。
        看来这三条传输命令根本没有执行,我想问下怎么能让这个传输命令生效啊? 。另外三条传输命令的内容是没有错误的。
此帖出自编程基础论坛

最新回复

哦,no,我不认识这个东西。是WDF?  详情 回复 发表于 2018-1-6 16:51
点赞 关注
 

回复
举报

626

帖子

173

TA的资源

一粒金砂(高级)

沙发
 
@辛昕 @汤权 @chenzhufly
此帖出自编程基础论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
 
 

回复

7815

帖子

56

TA的资源

裸片初长成(中级)

板凳
 
高进 发表于 2018-1-5 18:09
@辛昕 @汤权 @chenzhufly

哦,no,我不认识这个东西。是WDF?
此帖出自编程基础论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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