首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过连接并口引脚9和10触发硬件中断不起作用。

通过连接并口引脚9和10触发硬件中断不起作用。
EN

Unix & Linux用户
提问于 2015-05-27 13:09:46
回答 2查看 702关注 0票数 1

我想通过用电线连接引脚9和10来触发硬件中断,如书“Linux设备驱动程序”中所述。我试过了,但显然没有中断触发:

cat /proc/interrupts

代码语言:javascript
复制
 7:          0    XT-PIC  parport0

现在我想知道为什么?加载了内核模块:

代码语言:javascript
复制
parport_pc             26004  0
parport                35239  2 ppdev,parport_pc

书中说必须启用中断,但在加载模块时是这样的,对吗?

知道我能做什么吗?

EN

回答 2

Unix & Linux用户

发布于 2015-05-27 13:40:53

仅仅连接引脚不会产生中断。根据您引用的文档,您需要编写一些数据到pin 9,其中有一个短到pin 10来生成中断。引用您所引用的文件:

Pin 9是并行数据字节中最重要的位。如果将二进制数据写入/dev/短路0,则会生成多个中断。但是,将ASCII文本写入端口不会产生任何中断,因为ASCII字符集没有顶部位集的条目。

票数 1
EN

Unix & Linux用户

发布于 2015-05-27 13:38:18

为什么人们很难阅读内核代码?:P。

http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/char/ppdev.c

说真的,设备通常只在需要的时候才被激活--当用户空间打开时。示例:

如果您查看ppdev.c,您将看到它提供了一个API,其中parport被“声明”(虽然不一定是唯一的?!)。只有这样,它才会调用pp_enable_irq()。(我首先查看了open(),并在那里看到了评论)。

我不知道这是不是确切的原因,但它显示了你的假设中的缺陷:)。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/205866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档