LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 771|回复: 5

求救做过驱动的高手:读出端口的值跟写进去的不一样

[复制链接]
发表于 2004-9-30 13:19:34 | 显示全部楼层 |阅读模式
isa卡的地址跳线设为0x223,在outb时不管怎么设置输入值
调用inb时得到的值都一样。在outb处编译时有个warning:large integer implicitly truncated to unsigned type;在/proc/ioports里看到了
申请的io资源
模块代码如下:
int init_module(void)
{
       
       
        int err;
        if((err=check_region(0x223,1))<0)
        {
                printk("<0> error \n");
                return err;
        }
        request_region(0x223,1,"iokernel1");
        outb(0x223,0x11);
        unsigned char temp=inb(0x223);
        printk("<0> the temp=%d \n",temp);       
        return 0;

}


void cleanup_module(void)
{

        release_region(0x226,3);
        printk("<0> bye bre");
       


}


MODULE_LICENSE("GPL");
发表于 2004-9-30 13:50:28 | 显示全部楼层
outb参数错误,反了
outb(0x11,0x223);
 楼主| 发表于 2004-10-8 09:00:45 | 显示全部楼层
谢谢!,
写错了,该过来了还是没用,读出的跟写入的不一样
郁闷死了
发表于 2004-10-8 09:09:45 | 显示全部楼层
如果这个端口只是起存储作用,读出来的应该和写进去的一样,否则不一样是很正常的呀?读出来是多少?
 楼主| 发表于 2004-10-8 09:21:20 | 显示全部楼层
0,试了一下别的端口好像也不好用
 楼主| 发表于 2004-10-8 09:32:17 | 显示全部楼层
谢谢两位,好用了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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