免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3394 | 回复: 5
打印 上一主题 下一主题

问一个并口驱动中断的试验问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-04 23:49 |只看该作者 |倒序浏览
我想写一个并口的中断驱动试验,cat /proc/ioports 输出并口为0x378-0x37f parport。然后cat /proc/interrupts ,输出中断号7已经被用了,说明有并口的驱动模块了。然后我rmmod parport,提示parport_pc和ppdev正在使用此模块,然后我:rmmod parport_pc   rmmod ppdev  ,最后rmmod parport 。
      然后中断7就没有模块在用了,cat /proc/ioports 显示0x378-0x37f 已经没有分配了。我就用那个reqeust_region函数又弄了一下,发现地址分配给我的驱动了,但是现在的驱动还是不工作,不知道怎么弄?希望指点一下。
       (我用的以前写的并口的简单驱动程序,试验了一下,也不工作了。)
这个中断到底怎么试验啊?
谢谢!!

论坛徽章:
0
2 [报告]
发表于 2009-11-05 02:48 |只看该作者
最好描述下你的驱动怎么个不工作法?你驱动本来应该做什么的?实际上得到什么结果?把相关代码贴出来看看?

论坛徽章:
0
3 [报告]
发表于 2009-11-05 12:51 |只看该作者

回复 #2 accessory 的帖子

我原来的一个驱动是led闪烁的,就是用inb读进状态,根据状态用outb函数写0x00或者0xff,这样就控制了led,驱动正常工作。但是当我把parport、ppdev和parport_pc都rmmod之后就不正常工作了。代码特别简单,我就不贴了。
(具体就是读0x379,如果是0x6f,就把0x378 设为0xff延时,再设为0x00。led接在0x378上,按键接在0x379上)

我想这个不能工作中断肯定也不能,所以现在想先把这个弄明白!

论坛徽章:
0
4 [报告]
发表于 2009-11-05 13:53 |只看该作者
并扣上有 led? 是你自己接的么?确认硬件没问题?

论坛徽章:
0
5 [报告]
发表于 2009-11-05 22:58 |只看该作者

回复 #4 accessory 的帖子

灯和开关是我自己连上去的。
只是我rmmod parport   rmmod parport_pc   rmmod ppdev 后不能正常运行。如果开机不rmmod这几个模块是可以运行的,没问题。rmmod这几个是因为要做中断的试验,好像他们用着中断7了,我不rmmod,就不能加载并口中断模块。

论坛徽章:
0
6 [报告]
发表于 2014-05-23 07:21 |只看该作者
回复 5# phoenix-linux


我也遇到了同样的问题。我发现的是如果卸载了 arport_pc,parport 的话,我根本就不能把数据送到端口0X378改变pin 02-09的电平,也就无法激发中断了。
我试过在boot阶段完全不加载arport_pc,parport 和在boot后卸载,都是同样的结果。

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

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP