外部中断中处理程序导致响应不及时

发布于 2019-11-08 15:18:02
问题:使用了俩个使用模拟IIC读取数据的传感器,一个是IMU,还是一个是PPG传感器,分别创建了俩个线程,传感器的数据都是从传感器FIFO中读取,根据设置的阈值产生中断,单片机通过外部中断进行对FIFO数据读出,并存储到SD卡中,出现问题是某一时刻程序会卡死配置:主控STM32F4,IMU:LSM6DSL,PPG:SI117X,俩个的采样频率均为208Hz,通过模拟iic通信,根据调试,速率400KHZ左右,由于是俩个传感器,所以是俩个中断,设置的是同一个中断向量,只是中断线不同
测试过程:
(1)俩个传感器线程,仅进入外部中断读取FIFO,不加存储程序部分,OK,不卡死;
(2)在外部中断中读完FIFO后,加入存储部分程序,出现不间断卡死
猜测:
(1)响应不及时,导致FIFO溢出
(2)中断之间存在冲突
(3)存储部分速率过慢
思考:
(1)传感器采样频率并不高,为何有种CPU资源不够用的感觉
(2)该如何进一步测试或者解决

(3)是不是使用定时器中断,直接读取会更好?

附录部分程序:


1.png
2.png
3.png

查看更多

关注者
0
被浏览
591
0 个回答
暂无答案,快来添加答案吧

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览