繁体   English   中英

I2C和中断

[英]I2C and interrupts

我正在使用SparkFun ESP32 Thing模块制作四轴飞行器,并使用MPU9255 Waveshare IMU。

好像当我从RC接收器读取带有中断(6个通道的6个中断)的PWM信号时,一段时间后I2C失败了。 我在MPU9250上使用了中断(但不是DMP模块,仅同步了加速度和陀螺仪数据)。 我不确定MPU9250还是ESP32连接是否失败。 看起来是这样的:10到50秒后,MPU9250失败,MPU中断以8kHz(而不是1,6kHz)工作,并且值不会改变。 不知道发生了什么; /有人吗? 没有中断,I2C可以正常工作...

您的ISR必须保存和恢复所有使用的寄存器和标志。 如果要从ISR调用任何外部函数,则可能存在重入问题。 如果不看代码,那是我所能提供的最好的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM