|
添加printf以后发现 就在这一部分卡住的 / TIM1_BRK_TIM15_IRQn interrupt configuration / HAL_NVIC_SetPriority(TIM1_BRK_TIM15_IRQn, 4, 1); HAL_NVIC_EnableIRQ(TIM1_BRK_TIM15_IRQn); / TIM1_UP_TIM16_IRQn interrupt configuration / HAL_NVIC_SetPriority(TIM1_UP_TIM16_IRQn, 0, 0); HAL_NVIC_EnableIRQ(TIM1_UP_TIM16_IRQn); 什么原因啊大佬们,求教求教 |
MCSDK6.4开环能转,速度环一动不动
FDCAN复用在了BOOT0上了,会不会有影响
CUBEMX配置G474串口DMA传输,为什么接收正常发送不了?
有没有人搞过单极倍频的SPWM
STM32G431的程序在正常运行半年多后,出现系统周期性复位,如何进一步排查 ?
mcsdk6如何负载启动?
STM32G474VET6如何配置HRTIM的中心对齐模式
求一份电流前馈电机控制的参考示例feed_forward_ctrl.c.h,
G474 HRTIM的6个Fault引脚能对应三个定时器的6个通道吗?
STM32G4 FLASH擦除不了,寻求各位大佬、官方的帮助
微信公众号
手机版
可能导致该问题的原因:
IM1 更新中断在 EnableIRQ 后立即触发
NVIC 立刻跳进
TIM1_UP_TIM16_IRQHandler该中断:
解决办法
1.把 TIM1_UP_TIM16_IRQn 的优先级改低
例如:
HAL_NVIC_SetPriority(TIM1_UP_TIM16_IRQn, 5, 0); HAL_NVIC_EnableIRQ(TIM1_UP_TIM16_IRQn);
2.在中断 Enable 之前,没有清 Pending 位
TIM1 更新中断经常“上电即 Pending”。
修复方式
在
EnableIRQ前加:__HAL_TIM_CLEAR_FLAG(&htim1, TIM_FLAG_UPDATE); NVIC_ClearPendingIRQ(TIM1_UP_TIM16_IRQn);
芯片买假了,换个店铺试试,还有外设电路需要接好