版块
论坛
喜欢
话题
应用
搜索
登录
注册
makefriend8的个人空间
访问量
0
新鲜事
帖子
资料
http://bbs3.driverdevelop.com/index.php?m=space&uid=64362
xp下如何写某些特定I/O端口(如70H,读没问题)
我是用DriverStudio生成的WDM文件。在98下没有问题。对任何端口都可以进行读写。(只要该端口不是只读或只写的)但在XP下。发现好多端口都无法写。比如70H。(在98下可以的)我又实验了一下378H(并口).却是可以读写的。是不是XP把好多端口都屏蔽了。不给读写了??我...
全文
回复
(
9
)
2003-12-25 18:59
来自版块 -
内核编程
◆
◆
表情
告诉我的粉丝
提 交
makefriend8
:
我是先写后读的。 就是先把端口设置成某个值。然后就读出来看。 在98下一切OK。 XP下有很多端口写了没用。读出来的老是那个值。
(2003-12-29 20:48)
回复
wxl_50685330
:
你怎么知道没写进去,要不写个循环多写几次,会不会总线冲突
(2003-12-29 15:38)
回复
longriver2003
:
READ_PORT_UCHAR READ_PORT_Ulong,READ_PORT_Ushort write_PORT_UCHAR write_PORT_Ulong,write_PORT_Ushort READ_REGISTER_UCHAR 等等,看DDK吧。
(2003-12-27 09:58)
回复
wowocock
:
在驱动中应该没问题,无所谓用那些HAL宏,我反汇编那些代码过,也是IN,OUT而已。。。。。。
(2003-12-26 23:29)
回复
makefriend8
:
有人回答吗??
(2003-12-26 17:56)
回复
makefriend8
:
我用的是KIoRange::inb(这应该是封装了DDK的) DDK中相应函数是什么?? 是不是XP的问题?
(2003-12-25 19:15)
回复
Lingfeng
:
不会呀! 一般是可以读的呀.要用DDK中提供的函数来读写端口呀.
(2003-12-25 19:13)
回复
makefriend8
:
不只是70H(71H我知道是只读的)其他很多端口都没办法写。(数字小的我好象没发现行的。数字大的好象才能写) 问题是98下没有问题。而XP下不可以啊! 我没牵扯什么中断。只是读写I/0端口而已。
(2003-12-25 19:13)
回复
feiye666
:
读写最好通过READ_PORT_UCHAR来读写 另外读写CMOS时要注意 1.cli关闭中断 2.还要对第7位进行操作 大概是这样 我也不是很在行 你可以看看PC技术内幕上的东西 上面好像有读写操作的代码你可以参考一下
(2003-12-25 19:09)
回复
makefriend8
加关注
写私信
0
关注
0
粉丝
134
帖子
返回顶部