GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;//GPIO高速 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 上述配置是用STM32CUBEMX配置的,只能配置GPIO速率为GPIO_SPEED_FREQ_HIGH,其实应该就是和库函数配置的50...
GPIO_InitStruct.Pin=GPIO_PIN_9;// PA9作为UART_TXGPIO_InitStruct.Mode=GPIO_MODE_AF_PP;// 复用推挽GPIO_InitStruct.Pull=GPIO_NOPULL;GPIO_InitStruct.Speed=GPIO_SPEED_FREQ_HIGH;GPIO_InitStruct.Alternate=GPIO_AF7_USART1;// 选择复用功能HAL_GPIO_Init(GPIOA,&GPIO_InitStruct); 五、不同模式应...
GPIO_SPEED_FREQ_MEDIUM引脚输出速度 12.5MHz ~ 50MHz GPIO_SPEED_FREQ_HIGH引脚输出速度 25MHz ~ ...
GPIO_SPEED_FREQ_LOW/* 低速 */GPIO_SPEED_FREQ_MEDIUM/* 中等速度 */GPIO_SPEED_FREQ_HIGH/* 快速 */GPIO_SPEED_FREQ_VERY_HIGH/* 高速 */ 成员Alternate用于配置引脚复用,可选择的复用方式在文件stm32h7xx_hal_gpio_ex.h里面进行了定义,比如串口复用: 代码语言:javascript 代码运行次数:0 运行 AI代码解...
GPIO_InitTypeDef GPIO_InitStruct={0};// 配置GPIO模式为复用模式(AF_PP)GPIO_InitStruct.Pin=GPIO_PIN_0|GPIO_PIN_12;GPIO_InitStruct.Mode=GPIO_MODE_AF_PP;GPIO_InitStruct.Pull=GPIO_NOPULL;GPIO_InitStruct.Speed=GPIO_SPEED_FREQ_HIGH;// 初始化GPIOHAL_GPIO_Init(GPIOG,&GPIO_InitStruct); ...
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 性能对比: 寄存器:代码量多,执行周期短,适用于时间敏感型外设。 HAL库:代码量少,执行周期长,适合快速原型开发。 闪灯代码示例 💡 寄存器版(极致精简): while(1) { ...
();GPIO_InitStruct.Pin=R_LED_GPIO_PIN|G_LED_GPIO_PIN|B_LED_GPIO_PIN;// 选择LED的引脚GPIO_InitStruct.Mode=GPIO_MODE_OUTPUT_PP;// 设置为推挽输出模式GPIO_InitStruct.Pull=GPIO_PULLUP;// 默认上拉GPIO_InitStruct.Speed=GPIO_SPEED_FREQ_HIGH;// 引脚反转速度设置为快// 初始化引脚配置HAL_...
< Fast speed */ #define GPIO_SPEED_FREQ_VERY_HIGH ((uint32_t)0x00000003U) /*!< High speed */ 使用后两种速度等级的话,最好使能IO补偿单元。 6 GPIO兼容CMOS和TTL电平 CMOS和TTL电平兼容问题也是一个比较重要的知识点 7 不使用的引脚推荐设置为模拟模式...
GPIO_InitType.Speed=GPIO_SPEED_FREQ_HIGH; HAL_GPIO_Init(GPIOA,&GPIO_InitType); GPIO_InitType.Mode=GPIO_MODE_AF_INPUT; GPIO_InitType.Pin=GPIO_PIN_3; GPIO_InitType.Pull=GPIO_NOPULL; HAL_GPIO_Init(GPIOA,&GPIO_InitType); HAL_NVIC_EnableIRQ(USART2_IRQn); ...