电工之家_电工基础知识学习网站
当前位置:电工之家 > 电工知识 > 单片机 > 正文

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

时间:2020-07-28 16:37 来源:电工之家

单片机的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 复用推挽输出

上一篇:单片机的主程序是如何执行的
下一篇:没有了
看过《同一组GPIO可以部分设置成开漏输出部分设置成推挽输出吗》的人还看了以下文章
会什么可以从事单片机开发工作 会什么可以从事单片机开发工作
因为目前51单片机和STM32单片机是目前使用非常广泛的单片机,很多公司都是基于这两款单片机作为产品的主控MCU的。所以岗位需求很多。 从事STM32软件开发 主要是要懂C语言,对于结构体,指针要掌握透彻,这个后续项目会经常用到,在keil/IAR开发环境,掌握一...
单片机可以同时运行多个任务吗 单片机可以同时运行多个任务吗
单片机可以按分时、顺序、中断的方法处理多个任务 程序是非常抽象的,程序质量的好与差直接影响到运行的效果。我们用单片机设计电子产品时,同时运行多个任务是很正常的。单片机是按顺序执行指令的,所以,主程序也是按着顺序从头到底的运行的。以C语言写的...
单片机为什么可以控制发射红外信号来控制空调 单片机为什么可以控制发射红外信号来控制空
单片机当然可以控制发射红外信号来控制空调 万能遥控器大家用过吗?大家有没有试过用手机来控制空调吗?有些型号的手机集成有红外发射管,可以发出红外信号,既可以用来进行通讯,也可以用来遥控空调、电视等的电器。手机的Soc芯片其实也是一个单片机,只是...
零基础可以学单片机吗 零基础可以学单片机吗
如何从零基础学单片机是每位单片机爱好者或电子爱好者想得到的答案,我根据自己学单片机 一些经验与各位朋友们分享一下我学习单片机的经验,通过介绍我自己学习单片机的整个过程起到抛砖引玉的目的,同时希望能给单片机爱好者提供一个参考的作用。 单片机类...
mpc8052单片机芯片烧了可以直接替换吗 mpc8052单片机芯片烧了可以直接替换吗
单片机烧坏了,不能同型号直接替换,而是需要烧写对应的程序后才能实现功能。题目中的MPC8052单片机是非常老的型号了,这个产品应该也是非常老了,在市面上能不能买到还很难说。这款单片机如果烧坏了,除非从同产品中拆机替换,否则这个产品基本就宣告报废了...