F3飞控上搭载了一个可控的LED灯,连接在PB3引脚。
可以直接用IO控制该LED的亮灭,也可以使用定时器2的通道2作为PWM输出,低电平点亮。
配置的基本思路是初始化时钟,使能时钟,按照结构体格式配置参数,使能。
这些原子哥已经讲过超多遍了,不赘述。
系统定时使用定时器7,因为它是基本定时器,除了触发其他外设功能外基本没啥作用,也没有任何引脚输出,用起来最划算,不占用其他高级/通用定时器可能用到的高级/输入输出功能。
实验过程:
首先LED以一秒为周期闪烁几次,然后启动定时器7和定时器2通道2的PWM输出,在定时器7的定时中断里改变PWM的占空比,调节灯的亮度。
另外程序中翻转电平可以直接使用 HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
DEMO里面还有一些不相关的外设驱动,请忽略。
工程文件:
链接:https://pan.baidu.com/s/15aesD-PzUiBXPWN_nW9Htg 密码:w60m |