
STM32MP135D的TIM2使用ETR作为外部时钟时,无法使用PE15作为输入
如何利用TIM1触发HRTIM TIMA生成频率为20Hz的100ns脉冲波?
STM32G473RC timer8的CCDS bit, Capture/Compare DMA selection.
FW_H7 V1.12.1-HAL库DMA双缓冲配置
STM32G431 数据手册上有个图有点不理解
STM32G473RC多个定时器同步的问题
STM32的内部Flash操作是不是优先级最高?
STM32G474VET6如何配置HRTIM的中心对齐模式
stm32H755BIT6 TIM1中断问题
cudeide执行run是烧录还是只是执行呢
[md]SV,PendSV,SysTick系统自动设置其使能且优先级为0s0。 我自己的代码,优先级组2,USART1为3s3,TIM4为0s3,EXTI9_5_IRQn为1s1,EXTI15_10_IRQn为1s1。 TIM4中断程序中,更新70ms变量标记;EXTI中断程序中,更新编码器数值;main中,读取70ms变量标记值和编码器数值。都只是变量读写,没有看出死锁。 死马当活马医,尝试把上面几个中断的优先级统一设为0s0,居然不死机了! 再试,优先级统一设为1s0,还是死机。 再试,我虽然USART1、EXTI设置有使能中断,但没插串口、没插编码器,不会有中断吧?打断点,确实没有USART1、EXTI的中断,只有TIM4中断在跑。 中断的优先级统一设为0s0不死机,设为1s0会死机,这是为什么呢?
[md]教训: 1、EXTI等中断虽然没跑,但优先级不能随便。 2、搞不清原因,不妨先把全部中断的优先级统一设为0s0或0s1试试。 问题暂时规避了,但根本原因还是不清不楚啊。
[md]优先级统一一样了,说明各个中断不能彼此打断和嵌套了。问题应该是中断嵌套后导致的,具体你后面有时间再对着代码再研究吧。
可能中断处理时间过长,一次没处理完就进下一次了