
目前使用H743时,发现在mainloop中使用FMC接口读写数据,会造成tim1中断响应延迟。tim1中断抢占优先级为0,其他中断优先级大于0。tim1时钟频率240MHz,计数器周期设置为6000。进入tim1溢出中断后立即读取TIM1->CNT的值,统计读取到的值在63~753范围内波动。显示中断响应存在较大抖动。如果删除mainloop中FMC的读写,则异常抖动消失,读取到TIM1->CNT的值波动范围为59到71。 大家有遇到类似的现象么?请大牛帮忙协助排查下问题,有没有可能是什么设置不合理导致? |
STM32H755使用DMA接收数据不正常
CubeMX 生成的 STM32H7 CMake 工程打开串口 DMA 无法正常发送数据,如何解决?
STM32H7S78-DK 官方TOUCHGFX的DEMO源码在哪里呢?
STM32H723VG实现usb通讯
STM32H750VBT6挂接外部NAND Flash
STM32H7 openamp
如何利用TIM1触发HRTIM TIMA生成频率为20Hz的100ns脉冲波?
STM32双核H7核间通信的方法
stm32上部署yolo的问题
STM32H723VGT6的唯一DFSDM的时钟可以同时输出给2个sigma-delta吗?
2. 是否这部分代码里有开关中断或者开启其他外设中断。
3. 不明白为什么通过中断读取计数器的值,考虑一下是否读取方式会收到影响。
1.可以考虑部分注释掉FMC的代码来区分哪部分会影响。
就是单纯的读写操作,
例如:
value= *(UINT16*)(0x60000000);
*(UINT16*)(0x60000000 +TmpAddr) = data;
2. 是否这部分代码里有开关中断或者开启其他外设中断。
没有关闭任何中断的操作
3. 不明白为什么通过中断读取计数器的值,考虑一下是否读取方式会收到影响。
就是为了看中断的响应速度而已,没有特殊作用。TIM->CNT为0时触发中断,通过读取TIM->CNT观察中断响应延迟,即中断抖动。