voidMX_GPIO_Init(void){GPIO_InitTypeDef GPIO_InitStruct = {0}; 这里定义了一个名为 MX_GPIO_Init 的函数,没有输入参数,也没有返回值。同时创建了一个 GPIO_InitTypeDef 类型的结构体变量 GPIO_InitStruct 并初始化为零。 __HAL_RCC_GPIOD_CLK_E...
GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP; // 输出模式 GPIO_InitStructure.Pull = GPIO_NOPULL; // 不使用内部上下拉电阻 GPIO_InitStructure.Speed = GPIO_SPEED_FREQ_LOW; // 低速 GPIO_InitStructure.Pin = GPIO_PIN_0; // 配置的引脚 HAL_GPIO_Init(GPIOA, &GPIO_InitStructure); // 初始化G...
HAL_GPIO_Init(LED_GPIO_PORT,&GPIO_InitStruct); //初始化GPIO引脚 HAL_GPIO_WritePin(LED_GPIO_PORT,LED_PIN,GPIO_PIN_RESET);//初始化为低电平 ``` 以上代码片段中,首先使能了GPIOC的时钟,然后配置了引脚13(对应PC13)为推挽输出模式,并初始化为低电平。 03控制GPIO 3.1控制GPIO输出电平 通过HAL库,可以...
staticvoid MX_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct;/*GPIO Ports Clock Enable*/__HAL_RCC_GPIOH_CLK_ENABLE(); __HAL_RCC_GPIOD_CLK_ENABLE();/*Configure GPIO pin Output Level*/HAL_GPIO_WritePin(GPIOD, GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15, GPIO_PIN_SET);/...
自动生成的HAL库GPIO初始化代码: staticvoidMX_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct;/*GPIO Ports Clock Enable*/__HAL_RCC_GPIOH_CLK_ENABLE(); __HAL_RCC_GPIOD_CLK_ENABLE();/*Configure GPIO pin Output Level*/HAL_GPIO_WritePin(GPIOD, GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GP...
串口初始化另一个重要的函数就是HAL_UART_MspInit;我们在uart_init中配置好参数就可以看到开始调用HAL_UART_MspInit。整个调用逻辑如下图: 这部分逻辑很清晰的调用初始化过程。只有在填写HAL_GPIO_Init第一个参数的时候,我反面迷糊了,GPIO有那么多,我是选择GPIOA~E中的哪一个呢? 后来看了原理图才明白,如下: ...
HAL_GPIO_Init(KEY_INT_GPIO_PORT, &GPIO_InitStructure); /* 配置 EXTI 中断源 到 KEY 引脚、配置中断优先级*/ HAL_NVIC_SetPriority(KEY_INT_EXTI_IRQ, 0, 0); /* 使能中断 */ HAL_NVIC_EnableIRQ(KEY_INT_EXTI_IRQ); } 1. 2. 3.
HAL_GPIO_Init()函数 该函数的作用是根据GPIO_Init中指定的参数初始化GPIOx外设。 由于是对管脚进行初始化定义,一般在mian()函数初始化中。 而在主程序的初始化中,有个注释是初始化所有配置的外设,点击查看这个函数。 在MX_GPIO_Init()可以看到,这里对管脚进行了初始化的配置。
这个函数在STM32的HAL库中定义,通常用于初始化GPIO引脚以供外部设备使用。 函数详解如下: 函数原型: ```c void GPIO_Init(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_InitTypeDef* GPIO_InitStruct); ``` 参数说明: *`GPIOx`:GPIO端口对象,例如GPIOA。 * `GPIO_Pin`:要初始化的引脚编号,通常为0-...
使用HAL库的优点在于不用手动添加初始化的代码了,CubeMX会根据软件设置自动生成。 自动生成的HAL库GPIO初始化代码: 复制代码 复制代码 static void MX_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct; /GPIO Ports Clock Enable/ HAL_RCC_GPIOH_CLK_ENABLE();HAL_RCC_GPIOD_CLK_ENABLE(); ...