1.蜂鸣器
头文件:
#ifndef _PWM_H_
#define _PWM_H_
#include <stm32mp1xx_gpio.h>
#include <stm32mp1xx_rcc.h>
#include <stm32mp1xx_tim.h>
//蜂鸣器封装
void pwm_fm_init();
#endif
源文件:
#include "pwm.h"
void pwm_fm_init()
{
/********RCC章节初始化*********/
//1.使能GPIOB控制器
RCC->MP_AHB4ENSETR|=(0x1<<1);
//2.使能TIM4定时器
RCC->MP_APB1ENSETR|=(0x1<<2);
/********GPIO章节初始化********/
//1.设置PB6引脚为复用功能模式
GPIOB->MODER&=(~(0x3<<12));
GPIOB->MODER|=(0x2<<12);
//2.PB6引脚的复用功能为TIM4_CH1
GPIOB->AFRL&=(~(0xf<<24));
GPIOB->AFRL|=(0x2<<24);
/********TIM4章节初始化********/
//1.系统提供的时钟源为209MHZ,设置分频器的值为208
TIM4->PSC=208;
//2.产生一个方波,方波频率1000MHZ,设置自动重载计数器值1000
TIM4->ARR=1000;
//3.设置方波占空比,设置比较捕获寄存器值300
TIM4->CCR1=300;
//4.设置TIM4_CH1通道为PWM模式
TIM4->CCMR1&=(~(0x1<<16));
TIM4->CCMR1&am