PWM控制蜂鸣器,风扇,马达实验

本文介绍了使用STM32MP127开发板,通过TIM4、TIM1和TIM16来控制蜂鸣器、风扇和马达的工作。主要涉及RCC、GPIO和TIM4章节的配置,包括使能GPIO和TIM控制器,设置IO口为复用功能模式,配置TIM寄存器以产生PWM信号。
摘要由CSDN通过智能技术生成

开发板:STM32MP127

IO口

蜂鸣器:TIM4_CH1 ---> PB6

风扇:TIM1_CH1 ---> PE9

马达:TIM16_CH1 ---> PF6

框图

总结

通过以上框图分析可知,需要分析芯片手册RCC章节、GPIO章节、TIM4章节

1、RCC章节:使能GPIOB组控制器、TIM4组控制器

2、GPIO章节:1)设置引脚为复用功能模式 2)设置对应的复用功能

3、TIM4章节:如何产生一个PWM方波信号

分析TIM4章节

TIMx_CR1作用:tim控制器寄存器初始化

CR1[7] = 1 --------->自动重载预加载使能

CR1[6:5] = 00 --------->计数器边沿对齐方式

CR1[4] = 1 --------->计数器采用递减计数方式

CR1[0] = 1 ---------> 计数器使能

TIMx_CCMR1作用:timx捕获/比较模式寄存器,用来设置相关的模式选择

TIMx_CCMR1[16][6:4] = 0110 --------> 输出捕获为PWM模式

TIMx_CCMR1[3] = 1 --------> 输出捕获比较寄存器预加载使能

TIMx_CCMR1[1:0] = 00 --------> 配置通道1为输出选择

TIMx_CCER寄存器作用:捕获/比较使能相关寄存器

TIMx_CCER[3] = 0 --------->配置捕获/比较寄存器输出

TIMx_CCER[1] = 0/1 --------->配置捕获/比较寄存器起始状态为低电平/高电平

TIMx_CCER[0] = 0 --------->配置捕获/比较寄存器输出使能

 pwm.c文件

#include "pwm.h"

//蜂鸣器初始化  PB6----->TIM4_CH1
void hal_tim4_beep_init()
{
    //RCC章节初始化
    //PB6---->PB4
    RCC->MP_AHB4ENSETR |=(0X1&l
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值