教育培训 > 同一组GPIO可以部分设置成开漏输出部分设置成推挽输出吗?

同一组GPIO可以部分设置成开漏输出部分设置成推挽输出吗?

2020-07-28 17:16阅读(64)

同一组GPIO可以部分设置成开漏输出部分设置成推挽输出吗?同一组GPIO可以部分设置成开漏输出部分设置成推挽输出吗?谢谢:单片机的GPIO基本上都可以单独设置输入输

1

单片机的GPIO基本上都可以单独设置输入输出

输入输出是单片机GPIO最基本的功能,输出一般可以设置为开漏输出和上拉输出,而输入一般可以设置为上拉输入、下拉输入或者无上下拉输入。有特殊功能的引脚还可以设置为特殊功能,比如UART、SPI、模拟输入等等。

GPIO输入输出设置

一般来说,每一组GPIO都有对应用的寄存器用于设置输入或者输出,也有对应的寄存器设置上拉或者下拉。

以Holtek的单片机为例,PAC控制着PA组别GPIO的输入输入设置,PBC控制着PB组别GPIO的输入输入设置,每组8个GPIO都是可以独立设置的,对应的位设置为1为输入,对应的位设置为0则为输出

PxPU寄存器则控制上拉和下拉的设置,每组GPIO也是可以单独设置的,对应的位设置为1则为上拉设计,对应的位设置为0则不带上拉(此单片机没有下拉设置)

不同品牌的单片机的GPIO配置方法有一些差异,但基本上都是可以独立设置的。STM32单片机的GPIO配置就较为丰富了,大家可以研究一下。

  • GPIO_Mode_AIN 模拟输入,用于ADC输入
  • GPIO_Mode_IN_FLOATING 浮空输入,没有上拉也没有下拉
  • GPIO_Mode_IPD 下拉输入
  • GPIO_Mode_IPU 上拉输入
  • GPIO_Mode_Out_OD 开漏输出
  • GPIO_Mode_Out_PP 推挽输出
  • GPIO_Mode_AF_OD 复用开漏输出
  • GPIO_Mode_AF_PP 复用推挽输出

欢迎关注@电子产品设计方案,一起享受分享与学习的乐趣!关注我,成为朋友,一起交流一起学习

  • 记得点赞和评论哦!非常感谢!