
目前使用H743时,发现在mainloop中使用FMC接口读写数据,会造成tim1中断响应延迟。tim1中断抢占优先级为0,其他中断优先级大于0。tim1时钟频率240MHz,计数器周期设置为6000。进入tim1溢出中断后立即读取TIM1->CNT的值,统计读取到的值在63~753范围内波动。显示中断响应存在较大抖动。如果删除mainloop中FMC的读写,则异常抖动消失,读取到TIM1->CNT的值波动范围为59到71。 大家有遇到类似的现象么?请大牛帮忙协助排查下问题,有没有可能是什么设置不合理导致? |
手机端哪里可以查草稿
FW_H7 V1.12.1-HAL库DMA双缓冲配置
STM32H7+SAI+DMA双缓冲配置失败.
stm32Cube Visual studio code 如何设置STM32H7的下载算法
STM32H755的TouchGFX不能选择M7内核
请教SPI用LL读取的问题
STM32H743 LAN8720 CUBEMX配置lwIP无法ping通,分配pbuf失败
请教下关于 stm32h7x5,7x7 系列双核 dsi ltdc 显示驱动的时钟频率配置 ?
STM32H750VBT6 + W5500 + 激光雷达点云
STM32H750XBH6的外置SDRAM相关问题
2. 是否这部分代码里有开关中断或者开启其他外设中断。
3. 不明白为什么通过中断读取计数器的值,考虑一下是否读取方式会收到影响。
1.可以考虑部分注释掉FMC的代码来区分哪部分会影响。
就是单纯的读写操作,
例如:
value= *(UINT16*)(0x60000000);
*(UINT16*)(0x60000000 +TmpAddr) = data;
2. 是否这部分代码里有开关中断或者开启其他外设中断。
没有关闭任何中断的操作
3. 不明白为什么通过中断读取计数器的值,考虑一下是否读取方式会收到影响。
就是为了看中断的响应速度而已,没有特殊作用。TIM->CNT为0时触发中断,通过读取TIM->CNT观察中断响应延迟,即中断抖动。