核心板:STM32G030C8T6
实现功能:简单的串口收发(HC-05)蓝牙连接
舵机驱动
具体函数功能讲解就不说了,直接贴源码配置实现功能
串口收发:
cubemx配置
keil代码
/* USER CODE BEGIN 3 */
uint8_t RC = '1';
while (1)
{
HAL_UART_Receive_IT(&huart1,&RC,1);//使能接收中断
if(RC == '2')
{
Motor_SetSpeed(100);
}
else if(RC == '3')
{
Motor_SetSpeed(0);
}
}
}
/* USER CODE END 3 */
Motor_SetSpeed(100); 此行为上篇直流有刷电机pwm驱动 具体请看pwm直流电机驱动
需要注意的是 配置蓝牙一定要跟上面cubemx的波特率一致否则会连不上!
驱动舵机:
cubemx配置
PWM波形频率:主频/ 预分频值 / 自动重装值 = 频率
波形周期:1 / 频率 = 周期
STM32G030C8T6 主频为 经上图计算求得50HZ频率 周期为20ms
详细舵机驱动讲解网上也有很多这里就不细说了
keil代码
/* USER CODE BEGIN 2 */
HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_1);//***定时器初始化
/* USER CODE END 2 */
/* USER CODE BEGIN WHILE */
while (1)
{
__HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_1,50); //0.5ms高脉冲
HAL_Delay(1000); //延时1s
__HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_1,250); //2.5ms高脉冲
HAL_Delay(1000);
/* USER CODE END WHILE */
运行即可