ST意法半导体
直播中

李巍

8年用户 1532经验值
私信 关注
[问答]

H743芯片读写FMC接口对中断响应会造成tim1延迟,是什么原因导致的?

目前使用H743时,发现在mainloop中使用FMC接口读写数据,会造成tim1中断响应延迟。tim1中断抢占优先级为0,其他中断优先级大于0。tim1时钟频率240MHz,计数器周期设置为6000。进入tim1溢出中断后立即读取TIM1->CNT的值,统计读取到的值在63~753范围内波动。显示中断响应存在较大抖动。如果删除mainloop中FMC的读写,则异常抖动消失,读取到TIM1->CNT的值波动范围为59到71。
大家有遇到类似的现象么?请大牛帮忙协助排查下问题,有没有可能是什么设置不合理导致?

回帖(1)

郑婷婷

2023-8-5 15:19:11
1.可以考虑部分注释掉FMC的代码来区分哪部分会影响。

就是单纯的读写操作,
例如:
value= *(UINT16*)(0x60000000);
*(UINT16*)(0x60000000 +TmpAddr) = data;

2. 是否这部分代码里有开关中断或者开启其他外设中断。
        没有关闭任何中断的操作

3. 不明白为什么通过中断读取计数器的值,考虑一下是否读取方式会收到影响。
        就是为了看中断的响应速度而已,没有特殊作用。TIM->CNT为0时触发中断,通过读取TIM->CNT观察中断响应延迟,即中断抖动。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分