STM32 PWM源码分析

1.实验器材:
    STM32F103c8
    
2.实验目的:
    学习定时器的PWM功能

3.硬件资源:

  •     DS0(连接在PB5)
  •     定时器3(TIM3),使用TIM3的通道2(CH2),开启部分重映射,将TIM3_CH2输出到PB5.  从而实现PWM输出控制DS0亮度.

    
4.实验现象:
    本实验,DS0由暗到亮,再由亮到暗,再由暗到亮,依次循环.

 一、LED初始化

代码分析:

1.声明GPIO _Initure:

GPIO_InitTypeDef GPIO_Initure

2.初始化GPIOB、GPIOE的时钟:
 

__HAL_RCC_GPIOB_CLK_ENABLE();

__HAL_RCC_GPIOB_CLK_ENABLE();

3.对GPIOB和GPIOE进行配置

GPIO_Initure.Pin=GPIO_PIN_5; 				//PB5
GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP;  	//推挽输出
GPIO_Initure.Pull=GPIO_PULLUP;          	//上拉
GPIO_Initure.Speed=GPIO_SPEED_HIGH;    	 	//高速

4.调用GPIO初始化函数,进行初始化:

HAL_GPIO_Init(GPIOB,&GPIO_Initure);

5.GPIOE也类似进行初始化,GPIOE和GPIOB的配置是一样的。

GPIO_Initure.Pin=GPIO_PIN_5; 				//PE5
HAL_GPIO_Init(GPIOE,&GPIO_Initure);

6.设置GPIOB和GPIOE的默认状态

HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,GPIO_PIN_SET);	//PB5置1,默认初始化后灯灭
HAL_GPIO_WritePin(GPIOE,GPIO_PIN_5,GPIO_PIN_SET);	//PE5置1,默认初始化

LED_Init整体代码:

void LED_Init(void)
{
    GPIO_InitTypeDef GPIO_Initure;

    __HAL_RCC_GPIO
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

flower in my heart

你的鼓励就是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值