我使用的是BeagleBoneBlack,它的gpio引脚可通过内核模块配置。出于教育目的,我正在开发一个模块,能够在gpio状态改变时附加中断。在
我的想法是在Python中有一个接口,它将pid发送到设备(内核模块),从而等待来自内核空间的硬件中断信号来执行某个操作(方法)。在
逻辑如下:
这很好用,但我遇到了一个问题,如果Python进程有多个用于不同gpio管脚的处理程序呢。而不是调用所有的处理程序函数,这是一个错误的行为。我在网上搜索发现了一个this问题,强烈建议他不要进行这种内核用户空间通信,并使用轮询作为了解事件发生的方式。在
作为替代方案,我应该在python进程中对特定的gpio进行轮询。问题是,中断技术不是更好吗?我的意思是这只是一个常见的逻辑,python进程并不等待(忙)gpio状态的改变,当调用硬件中断时,他被告知事件,因此只有than使用cpu时间。在
我可能不明白到底是怎么回事,这就是为什么不把轮询技术作为实现这一目标的方法。在
我还备份了一些工作代码,所以如果它需要一些澄清,我可以展示它。在
谢谢你的帮助。在
目前没有回答
相关问题 更多 >
编程相关推荐