STM32单片机产生PWM信号

STM32单片机产生PWM信号

1、开发环境

目标单片机 : STM32F407VET6芯片,系统时钟高达168Mhz
开发平台:KEIL 5
编写程序借助ST公司的标准函数库,不过现在已经不更新这个写函数库了,大部分开发都STM32CubeMX软件直接生成代码使用。但旧的东西(标准函数库)仍然能够使用。

2、目标

PWM称为脉冲宽度调制,可通过修改占空比来控制LED灯的亮度(呼吸灯)

占空比:指在一个脉冲循环的周期内,通电时间相对于总时间所占的比例

配置单片机寄存器来产生PWM

使PA1引脚产生方波,

3、代码

pwm.c文件代码

//TIM5 PWM部分初始化 
//PWM输出初始化
//@arr:自动重装值    
//@psc:时钟预分频数   单片机168MHz经过系统时钟2分频,PWM外设时钟84MHz/(84-1+1)=1MHz 1us 
//功能:由PA1产生占空比50%的方波
void TIM5_PWM_Init(u32 arr,u32 psc)
{
   		 					 
	GPIO_InitTypeDef GPIO_InitStructure;
	TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
	TIM_OCInitTypeDef  TIM_OCInitStructure;
	
	RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5,ENABLE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值