快捷搜索:  汽车  科技

gpio最简单的功能是什么(小白笔记什么是GPIO)

gpio最简单的功能是什么(小白笔记什么是GPIO)如何控制 STM32 的 IO 口输入输出?要控制GPIO C 的 11 位为上拉输入,12 位为推挽输出。代码如下:代码举例:General Purpose Input Output (通用输入/输出)简称为GPIO,要明白GPIO是干什么用的,我认为要了解什么是IO口。IO口相当于1个微型的开关,可以输出状态 连通/断开,在数字电路中用1和0表示,这是基础。如何控制GPIO输入输出?

在智能硬件开发过程中,有的小伙伴知道IO口,但不熟悉GPIO,经常听说GPIO,那么什么是GPIO呢?

于是,各种百度,google 知乎......看完还是云里雾里,很快就忘记。

下面小编翻出以前的笔记,重新整理,大家探讨一二,请看下文:

gpio最简单的功能是什么(小白笔记什么是GPIO)(1)

什么是GPIO?怎么理解GPIO?

General Purpose Input Output (通用输入/输出)简称为GPIO,要明白GPIO是干什么用的,我认为要了解什么是IO口。

IO口相当于1个微型的开关,可以输出状态 连通/断开,在数字电路中用1和0表示,这是基础。

如何控制GPIO输入输出?

代码举例:

如何控制 STM32 的 IO 口输入输出?要控制GPIO C 的 11 位为上拉输入,12 位为推挽输出。代码如下:

GPIOC->CRH&=0XFFF00FFF;//清掉这 2 个位原来的设置,同时也不影响其他位的设置

例如 CNF2[1:0] MODE2[1:0] =位1000 是上下拉模式

说明:每个IO端口,占用4个位来配置端口的输入输出模式及速率,例如IO端口2:CNF2[1:0] MODE2[1:0]

gpio最简单的功能是什么(小白笔记什么是GPIO)(2)

CRL 或者CRH的32位 每4位控制1个IO模式

所以,1组GPIO需要用CRL CRH来控制16个IO端口的输入输出模式。

----------------------------------------------------------------------------------------------//

IDR----16个IO口输入数据寄存器,只用了低 16 位,这个是只读寄存器。

ODR--16个IO输出数据寄存器,也只用了低 16 位。这个寄存器为可读写。

所以,通过IDR ODR可以读取IO口的状态,也能写入控制某个IO口。

由于这几个寄存器是32位,因为每个IO都有独立的状态,所以只需16位,那么寄存器的高16位就空着。见下图

gpio最简单的功能是什么(小白笔记什么是GPIO)(3)

IDR ODR可以读取IO口的状态

好了,原理就是这样。

再返回上面看,代码事例,是不是就能理解了呢?------------------------认为这篇文章有用,记得关注 收藏哦!

猜您喜欢: