#include "beep.h"
void hal_beep_init(){
//RCC
RCC->MP_APB4ENSETR|=(0x1<<1);
RCC->MP_APB1ENSETR|=(0X1<<2);
//GPIO
GPIOB->MODER&=(~(0x3<<12));
GPIOB->MODER|=(0x1<<13);
GPIOB->AFRL&=(~(0xF<<24));
GPIOB->AFRL|=(0x1<<25);
//TIM4
TIM4->PSC=208;
//ARR
TIM4->ARR=1000;
//CCR1
TIM4->CCR1=700;
//CCMR1
TIM4->CCMR1&=(~(0x1<<16));
TIM4->CCMR1&=(~(0x7<<4));
TIM4->CCMR1|=(0x3<<5);
TIM4->CCMR1|=(0x1<<3);
TIM4->CCMR1&=(0x3);
//CCER
TIM4->CCER&=(~(0x1<<3));
TIM4->CCER&=(~(0x1<<1));
TIM4->CCER|=(0x1);
//CR1
TIM4->CR1|=(0x1<<7);
TIM4->CR1&=(~(0x3<<5));
TIM4->CR1|=(0x1<<4);
TIM4->CR1|=0x1;
}
void hal_mada_init(){
//RCC
RCC->MP_AHB4ENSETR|=(0x1<<5);
RCC->MP_APB2ENSETR|=(0x1<<3);
//GPIO
GPIOF->MODER&=(~(0x3<<12));
GPIOF->MODER|=(0x1<<13);
GPIOF->AFRL&=(~(0xF<<24));
GPIOF->AFRL|=(0x1<<24);
//TIM1
TIM16->PSC=208;
//ARR
TIM16->ARR=1000;
//CCR1
TIM16->CCR1=500;
//CCMR1
TIM16->CCMR1&=(~(0x1<<16));
TIM16->CCMR1&=(~(0x7<<4));
TIM16->CCMR1|=(0x3<<5);
TIM16->CCMR1|=(0x1<<3);
TIM16->CCMR1&=(0x3);
//CCER
TIM16->CCER&=(~(0x1<<3));
TIM16->CCER&=(~(0x1<<1));
TIM16->CCER|=(0x1);
//CR1
TIM16->CR1|=(0x1<<7);
TIM16->CR1|=0x1;
//BDTR
TIM16->BDTR|=(0x1<<15);
}
pwd实验
最新推荐文章于 2024-09-27 19:41:52 发布