|
添加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); 什么原因啊大佬们,求教求教 |
STSPIN32G4 STM32G431VBTx CAN FIFO发送数据帧随机变远程帧
MotorControl Workbench 6.4.1 生成 FOC 项目代码后运行死机。
如何将电机转速度控制在0.1RPM以下?我尝试过将SPEED_UNIT改为480,电机转速度可以控制在0.125RPM,但最转到250RPM时,编码器计数好像溢出了
STM32G474 HRTIM的single-shot功能,如何使用?
无源晶振开关电路设计
为什么DMA搬运数据只搬运最后1个字节的数?
STSPIN32G4内部驱动电压输出问题
使用Hal库的SPI读取磁边传感器导致STM32G4无法运行
定时器触发SPI
stm32G474RBT3的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);
芯片买假了,换个店铺试试,还有外设电路需要接好