这段代码是在初始化板子时调用的函数。首先设置了中断优先级分组为 2,然后初始化系统滴答定时器。接着使能了 GPIOB 和 AFIO 的时钟,并对 JTAG 进行了重映射,将 PB3、PB4 和 PA15 配置为普通 IO 口,将 PA13 和 PA14 用于 SWD 调试。然后使能了电源和备份寄存器的时钟。最后根据宏定义分别初始化了定时器 1、2、3、4 和串口 1、2,并将串口波特率设置为 9600。

void bsp_Init(void)
{
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
	SysTick_Init(); 
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
	GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); //重映射配置应这样配置:用 PB3,PB4,PA15 做普通 IO,PA13&14 用于 SWD 调试。
	RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
#ifdef DFEN_TIMER_1
	TIM1_Int_Init(999,71);  //1ms 
#endif
#ifdef DFEN_TIMER_2
	TIM2_Int_Init(99,71);  //100us 
#endif
#ifdef DFEN_TIMER_3
	TIM3_Int_Init(999,71);  //1ms 
#endif
#ifdef DFEN_TIMER_4
	TIM4_Int_Init(999,71);  //1ms 	
#endif

    Usart1_Init(9600);      //串口1初始化为 115200
    Usart2_Init(9600);      //串口2初始化为 115200
}
STM32 板子初始化函数 bsp_Init() 解释

原文地址: https://www.cveoy.top/t/topic/jon3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录