stm32最小系统板hal库实现蓝牙遥控循迹避障小车(3)

一、连线

SG90舵机stm32
信号线(黄色)PA2
红色线5v
棕色线GND

二、cubemx配置

 

三、代码

 单独开个文件吧,虽然就一个函数,但是最后都堆在一起太难看了

Servo.c

#include "stm32f1xx_hal.h"             
#include "tim.h"

void ServoAngle(float angle)
{
	uint16_t ccr =0;
	if(angle > 180)	angle  = 180;
	if(angle <0)	angle = 0;
	
	ccr = angle*11.11 + 500;
	TIM2-> CCR3 =ccr;

}

.h

#ifndef __SERVO_H__
#define __SERVO_H__

void ServoAngle(float angle);
#endif

        在main.c文件里加入头文件

#include "Servo.h"

        在main函数里开启定时器2的PWM通道3

	HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_3);	//Servo

        然后就可以随便调用一下封装的ServoAngle()函数了哈,可以放在while循环上面看一下成功没,也可以放在之前写的回调函数里,加几个else if多写几个情况(

        放在回调函数里的话,建议在开启通道的下面加一个        ServoAngle(0);这样每次启动都会先恢复到初始值0°,再用蓝牙发送数据控制,更加规范啦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值