初级会员

- 积分
- 53
- 金钱
- 53
- 注册时间
- 2018-1-15
- 在线时间
- 22 小时
|
1金钱
分开执行六步电机控制跟PWM输入捕获(DMA)系统都很正常,但一起运行的时候,就会有异常,初步判断是中断顺序安排的关系。
六步电机控制(中断)
HAL_NVIC_SetPriority(TIM8_TRG_COM_TIM14_IRQn,0,0);
HAL_NVIC_EnableIRQ(TIM8_TRG_COM_TIM14_IRQn);
输入捕获(中断)
HAL_NVIC_EnableIRQ(DMA1_Stream3_IRQn);
HAL_NVIC_SetPriority(DMA1_Stream3_IRQn,0,1);
HAL_NVIC_EnableIRQ(DMA1_Stream0_IRQn);
HAL_NVIC_SetPriority(DMA1_Stream0_IRQn,0,1);
如果像是这样安排中断顺序,六步方波输出优先于pwm输入捕获,就会导致捕获的值异常
优先顺序相反则会导致六步pwm无法输出
请问有什么方法能解决吗?
|
|