GPIO寄存器操作

1、输出数据寄存器 GPIOx_ODR:设置引脚的输出电平状态

      1)设置高电平

  GPIOA->ODR |= GPIO_Pin_1 ; //将GPIOA1设置为高电平

    2) 设置低电平

   GPIOA->ODR &= ~GPIO_Pin_1 ; //将GPIOA1设置为低电平

    3)引脚翻转

  GPIOA->ODR  ^=  GPIO_Pin_1 ; //每次改变GPIOA1引脚电平状态

2、输入数据寄存器GPIOx_IDR :读取引脚的输入电平状态

 1)读取GPIO所有引脚输入电平状态

  return ((u16)GPIOx->IDR);

 2)读取GPIO某一位引脚输入电平状态

  return ((u16)GPIOx->IDR & GPIO_Pin ? 1:0);

3、引脚翻转其他方式

GPIO_WriteBit(GPIOE,GPIO_Pin_5,(BitAction)(1-(GPIO_ReadOutputDataBit(GPIOE,GPIO_Pin_5))));
GPIO_WriteBit(GPIOE, GPIO_Pin_5, (BitAction)!GPIO_ReadOutputDataBit(GPIOE, GPIO_Pin_5))
GPIOE->ODR ^= GPIO_Pin_5
GPIO_ToggleBits(GPIOE, GPIO_Pin_5)/*有的版本不存在*/

posted @ 2025-05-31 15:01  jxw82284134  阅读(153)  评论(0)    收藏  举报