在完成这一切之后就要对代码进行编写了,因为我们需要使用Printf函数作为串口的输出函数因此需要对Printf函数进行重定向,因为在C语言中Printf函数默认的是作为控制台的输出,因此如果想要在编译器中使用需要将Printf函数重新定向到串口,具体的操作是在/* USER CODE BEGIN PFP */之后添加重定向函数如下图所示。
完成重定向之后我们就可以使用C语言中熟悉的printf(" %d\n",a);这种的函数进行串口输出了!
接下来需要在主函数上对PWM进行函数的编写,函数可以分为以下几部分:
HAL_TIM_PWM_Start(&htim, TIM_CHANNEL_X);//定时器的开启
__HAL_TIM_SET_COMPARE(&htim,TIM_CHANNEL_X,aRxBuffer[X]);//将PWM数据传递到寄存器中输出相应的PWM波
可以看到对于PWM的操作是非常的简单,简直就如图在使用Arduino一样这也得益于HAL库引入的这种面向对象的编程思想,将低层的操作都隐藏起来,程序员和代码工程师只需要“指点江山”就可以了。
完成了这几点之后将我们的串口数值传递给PWM输出函数即可这样就完成了初步的调试。就可以通过串口调整舵机,来调节OTTO的姿态了!