STM32 板子初始化函数 bsp_Init() 解释
这段代码是在初始化板子时调用的函数。首先设置了中断优先级分组为 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
}
原文地址: https://www.cveoy.top/t/topic/jon3 著作权归作者所有。请勿转载和采集!