STM32初识GPIO操作(by woody)

xiaoxiao2021-02-28  114

操作步骤为: 1) 使能 IO 口时钟。调用函数为 RCC_APB2PeriphClockCmd()。 2) 初始化 IO 参数。调用函数 GPIO_Init(); 3) 操作 IO。操作 IO 的方法就是上面我们讲解的方法 GPIO_InitTypeDef  GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin =; GPIO_InitStructure.GPIO_Mode =; GPIO_InitStructure.GPIO_Speed =; GPIO_Init(GPIOX, &GPIO_InitStructure); GPIO_Mode_AIN = 0x0, //模拟输入 GPIO_Mode_IN_FLOATING = 0x04,  //浮空输入 GPIO_Mode_IPD = 0x28, //下拉输入 GPIO_Mode_IPU = 0x48, //上拉输入 GPIO_Mode_Out_OD = 0x14, //开漏输出 GPIO_Mode_Out_PP = 0x10, //通用推挽输出 GPIO_Mode_AF_OD = 0x1C, //复用开漏输出 GPIO_Mode_AF_PP = 0x18  //复用推挽 GPIO_Speed_10MHz = 1, GPIO_Speed_2MHz, GPIO_Speed_50MHz 读 GPIOA.5 的电平状态,那么方法是: GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_5); 置 GPIOB.5 输出 1,那么方法为: GPIO_SetBits(GPIOB, GPIO_Pin_5); 反之如果要设置 GPIOB.5 输出位 0,方法为: GPIO_ResetBits (GPIOB, GPIO_Pin_5); 设置 GPIOA 的第 1 个端口 值为 1,那么你只需要往寄存器 BSRR 的低 16 位对应位写 1 即可: GPIOA->BSRR=1<<1; 如果你要设置 GPIOA 的第 1 个端口值为 0,你只需要往寄存器高 16 位对应为写 1 即可: GPIOA->BSRR=1<<(16+1)
转载请注明原文地址: https://www.6miu.com/read-59066.html

最新回复(0)