STM32 系统初始化函数 System_Init1() 解释

int System_Init1(void)
{
	
	RCC_Configuration();	// 初始化系统时钟
	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOF, ENABLE);
	GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);     // 禁用JTAG
	
	NVIC_Configuration();	// 中断初始化
	
	delay_init(72);                     // 初始化滴答定时器
	
	EEPROM_Init();
	
	USART1_Init(9600);
	
	LCD_Init3();


	ADC1_Init();
	

	KEY_Init();
	USART2_Init();
	
  RELAY_Init();
	
	Init_DHT11(); PWM4_Init();	
	
	Motor_Go_Angleall(0);
}

每个单词什么意思和作用内容:

  • RCC_Configuration(): 初始化系统时钟,配置系统时钟源和分频系数等参数。
  • RCC_APB2PeriphClockCmd(): 使能外设时钟。
  • GPIO_PinRemapConfig(): 配置引脚重映射,禁用JTAG,使其可以用于其他功能。
  • NVIC_Configuration(): 中断初始化,配置中断优先级等参数。
  • delay_init(): 初始化滴答定时器,用于延时等操作。
  • EEPROM_Init(): EEPROM初始化,用于数据存储等操作。
  • USART1_Init(): USART1串口初始化,用于与其他设备进行通信。
  • LCD_Init3(): LCD初始化,用于显示屏的控制和显示操作。
  • ADC1_Init(): ADC1模块初始化,用于模拟信号的采集和转换。
  • KEY_Init(): 按键初始化,用于按键的检测和响应操作。
  • USART2_Init(): USART2串口初始化,用于与其他设备进行通信。
  • RELAY_Init(): 继电器初始化,用于开关控制等操作。
  • Init_DHT11(): DHT11模块初始化,用于温湿度的采集和转换。
  • PWM4_Init(): PWM4模块初始化,用于控制电机的转速和方向。
  • Motor_Go_Angleall(): 电机控制函数,用于控制电机的转动角度和速度。

总结:

System_Init1() 函数是 STM32 系统初始化的核心函数,它负责配置系统时钟、使能外设时钟、重映射引脚、初始化中断、以及初始化各种外设。通过调用不同的初始化函数,System_Init1() 函数为后续程序的运行打下了基础,保证了 STM32 系统能够正常工作。


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

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