在我的核L432KC中,我将定时器1设置为PWM生成,定时器15设置为基于定时器的中断,定时器2设置为PWM输入模式。定时器1和定时器15工作正常,直到一个点。我的时钟频率是2MHz。例如,我想要一个50 kHz的更新事件,所以我设置timer 15 Precaler 0和period 39.在这种情况下,While(1)循环永远不会执行,即程序挂起。当我启动计时器2时:HAL_TIM_IC_Start_IT(&htim2,TIM_CHANNEL_3);HAL_TIM_IC_Start_IT(&htim2,TIM_CHANNEL_4);我的计时器1行为不端。该计划一般行为不端。这可能会发生什么?这就像Timer 15中断正在进行所有控制?是否与中断优先级有关?定时器15的目的是以50 kHz的频率发出中断。在此中断期间,我正在读取SPI数据。中断例程的伪代码:拉片选择下来使用HAL_SPI_Receive读SPI拉片选择
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
因此,更改频率不会使您的代码正确。只有正确使用外设才会。
一周热门 更多>