首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用i2c和Python的中断

使用i2c和Python的中断
EN

Stack Overflow用户
提问于 2014-11-13 08:16:47
回答 2查看 2K关注 0票数 2

一些背景知识:

我有一个i2c设备(MCP23017),它有6个交换机连接到它的GPIO端口。MCP23017通过i2c连接到树莓派。

我可以根据需要读取每个开关的状态。

我的问题是关于中断。我使用的是Python的WiringPi2库,它允许我在Python下与MCP23017交互。根据我所做的研究,WiringPiISR库允许运行i2c中断协议,尽管它似乎只在C下(正确地)工作。

我的问题是:有没有在Python下实现i2c中断的简单解决方案?

对于这个特定的项目,我正在考虑放弃使用C语言的Python,但是GUI界面已经写好了(用Python编写),所以我想把它作为最后的选择。

任何指导/输入/评论都将不胜感激!

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2014-11-13 20:03:01

据我所知,WiringPiISR库只允许你将引脚配置为中断并定义其类型(即,基于边沿或基于电平)。由于您正在讨论I2c中断,因此您不可能有I2C中断,因为在这种情况下,您的Rpi作为主设备工作,而其他连接的设备作为从设备工作。因为在I2C中,通信总是由主机发起的,所以从机不能打断你。(至少不是通过I2C通道)

希望能有所帮助。

票数 0
EN

Stack Overflow用户

发布于 2021-05-12 12:26:29

除了I2C线路之外,还有一些设备还具有中断线路。例如,我有一个来自duppa.net的旋转编码器I2C接口板,它有5个引脚- SDA、SCL、+、-和中断。

随附的python库将Raspberry Pi GPIO 4行配置为输入边缘触发中断,并设置回调。在中断线路发生变化(例如旋转编码器旋转)时,中断处理程序通过I2C读取状态寄存器并调用适当的回调。

因此,在I2C执行将主机从轮询总线中解放出来的常规任务的情况下,这完全是传统的中断用法。

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

https://stackoverflow.com/questions/26899161

复制
相关文章

相似问题

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