GPIO_Pin = GPIO_Pin_All;//直接用All初始化所有端口 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA,&GPIO_InitStructure); while(1){ //实现LED流水灯,可用循环和移位优化代码,8个等按顺序点亮 //甚至可以定义一个数组依次给第二个参数位置实现花式点灯 GPIO_Write(GPIOA,~0x0001)...
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;之后还有几个配置如 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_GPIO_InitStructure.GPIO_Mode = GPIO_Mode_等若干几句之后,会有 GPIO_Init(GPIOA, &GPIO_InitStructure);这一句中GPIOA就是说以上的配置中是GPIOA这一组的。
GPIO_ControlOutputPin(GPIOA, GPIO_PIN_1, GPIO_PIN_SET); } } ``` 在上述代码中,我们首先使用GPIO_Init函数配置了GPIOA引脚0为输入模式,并启用了上拉电阻;配置了GPIOA引脚1为推挽输出模式,没有内部电阻。然后,在主循环中,我们使用GPIO_ReadInputPin读取GPIOA引脚0的输入电平,并使用GPIO_ControlOutputPin控制...
uint32_t GPIO_Pin; // GPIO引脚编号,可以是单个引脚或者多个引脚的组合,如 GPIO_Pin_0 | GPIO_Pin_1 GPIOMode_TypeDef Mode; // GPIO引脚的工作模式,包括输入模式、输出模式、复用模式等 GPIOSpeed_TypeDef Speed; // GPIO引脚的输出速率,通常有低速、中速、高速可选 GPIOOType_TypeDef OType; // GPIO引...
一.GPIO的寄存器 32位配置寄存器:GPIOx_CRL,GPIOx_CRH 32位数据寄存器:GPIOx_IDR,GPIOx_ODR 32位置位/复位寄存器:GPIOx_BSRR 16位复位寄存器:GPIOx_BRR 32位锁定寄存器:GPIOx_LCKR GPIOx_CRL :端口配置低寄存器 (控制P0--P7端口) 一个IO位占4个位(4*8=32)P0--P7刚好32位,例如:P0端口:0-1控制输入...
一、配置GPIO口 • 1. 使能管脚对应的GPIO组时钟 RCC_APB2PeriphClockCmd( GPIOx, ENABLE); • 2. 定义一个初始化结构体型的变量 GPIO_InitTypeDef GPIO_InitStructure; • 3. 对结构体变量的各成员赋值 ①GPIO_InitStructure.GPIO_Pin =; ②GPIO_InitStructure.GPIO_Mode =; ...
#define LED_B_GPIO_PIN GPIO_Pin_1 #define LED_B_GPIO_PORT GPIOB #define LED_B_GPIO_CLK RCC_APB2Periph_GPIOB // 直接操作寄存器的方法控制IO #define digitalHi(port, pin) do {port->BSRR |= pin;} while (0) // 置位 #define digitalLo(port, pin) do {port->BRR |= pin;} while...
引脚(PIN):对应微控制器的一个管脚,归属于端口,由端口寄存器的对应位控制。 PA0,属于端口 GPIOA,输出电平由端口 GPIOA 的输出数据寄存器 GPIOA_ODR 的第 0 位决定。 4 GPIO 电路 5 GPIO 工作模式 输入模式:浮空输入/上拉输入/下拉输入 浮空输入:按键识别 ...
voidHAL_GPIO_WritePin(GPIO_TypeDef *GPIOx,uint16_tGPIO_Pin, GPIO_PinState PinState) 这是函数的定义,接受三个参数:GPIOx 是指向 GPIO 端口的指针,GPIO_Pin 是要设置的 GPIO 引脚,PinState 是要设置的输出电平。 /* Check the parameters */asser...
GPIO_InitTypeDef GPIO_InitStruct; // 开启RCC时钟,非常关键 RCC_APB2PeriphClockCmd(KEY1_GPIO_CLK | KEY2_GPIO_CLK, ENABLE); // 配置初始化结构体,传入具体参数 GPIO_InitStruct.GPIO_Pin = KEY1_GPIO_PIN; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN_FLOATING; ...