这段代码的作用是初始化和配置 GPIO 端口的输入输出模式和时钟,并设置对应的引脚输出高电平,以及延时 50 毫秒。

主要语句如下:

  1. GPIO_InitTypeDef GPIO_InitStructure; // GPIO 初始化结构体类型定义

  2. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC| RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO, ENABLE); // 使能 PORTB,C 时钟以及 AFIO 时钟

  3. GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE); // 开启 SWD

  4. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10|GPIO_Pin_9| GPIO_Pin_8|GPIO_Pin_7|GPIO_Pin_6; // PORTC6~10 复用推挽输出

  5. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; // 设置推挽输出模式

  6. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; // 设置输出速度为 50MHz

  7. GPIO_Init(GPIOC, &GPIO_InitStructure); // 初始化 GPIOC 端口

  8. GPIO_SetBits(GPIOC,GPIO_Pin_10|GPIO_Pin_9|GPIO_Pin_8|GPIO_Pin_7|GPIO_Pin_6); // 将 PC6~10 引脚设置为高电平

  9. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; // 设置 PORTB 所有引脚为输出

  10. GPIO_Init(GPIOB, &GPIO_InitStructure); // 初始化 GPIOB 端口

  11. GPIO_SetBits(GPIOB,GPIO_Pin_All); // 将 PORTB 所有引脚设置为高电平

  12. delay_ms(50); // 延时 50 毫秒

STM32 GPIO 端口初始化配置及输出高电平示例代码解析

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

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