电机驱动使用一个变量out控制,out有值但是驱动不了,直接给定一个数值到驱动函数里面又能够进行驱动。

问题遇到的现象和发生背景

最近在做平衡车,在给编码电机占空比的时候使用了一个变量,变量是有值的,但是电机没有转动。

问题相关代码,请勿粘贴截图

if(roll<0)
{
if(out<-7200)
out=-7200;
motor1_dir_Init();
motor2_dir_Init();
TIM_SetCompare2(TIM3,(7200+out));//0-7199
TIM_SetCompare4(TIM3,(7200+out));
}

运行结果及报错内容

在串口查看的效果是这样的:

img

img

我想要达到的结果

img

调用WinIO.sys接口进行out端口操作。