|
- /**
- * @file stm32f4xx_hal_msp.c
- * @brief STM32 HAL 底层初始化实现。
- * @version 2.0
- * @author zengbingjie
- * @date 2026-07-29
- * @copyright 版权所有 (c) 2026 Xinje Electric。
- * @note 修改记录:2.0 配置 USART1 的 Modbus RTU 引脚和中断。
- */
-
- #include "main.h"
-
- /**
- * @brief 初始化全局 MSP 资源。
- */
- void HAL_MspInit(void)
- {
- __HAL_RCC_SYSCFG_CLK_ENABLE();
- __HAL_RCC_PWR_CLK_ENABLE();
- }
-
- /**
- * @brief 初始化 USART1 时钟、引脚和中断。
- * @param[in] uartHandle 待初始化的 UART 句柄。
- */
- void HAL_UART_MspInit(UART_HandleTypeDef *uartHandle)
- {
- GPIO_InitTypeDef gpioConfig = {0};
-
- if ((uartHandle == NULL) || (uartHandle->Instance != USART1)) {
- return;
- }
-
- __HAL_RCC_USART1_CLK_ENABLE();
- __HAL_RCC_GPIOA_CLK_ENABLE();
-
- gpioConfig.Pin = GPIO_PIN_9 | GPIO_PIN_10;
- gpioConfig.Mode = GPIO_MODE_AF_PP;
- gpioConfig.Pull = GPIO_NOPULL;
- gpioConfig.Speed = GPIO_SPEED_FREQ_HIGH;
- gpioConfig.Alternate = GPIO_AF7_USART1;
- HAL_GPIO_Init(GPIOA, &gpioConfig);
-
- HAL_NVIC_SetPriority(USART1_IRQn, 6U, 0U);
- HAL_NVIC_EnableIRQ(USART1_IRQn);
- }
|