目录
为什么要了解GPIO?
因为无论是最简单的LED、KEY,还是外部接口相关的I2C SPI UART HDMI LVDS等等都需要用到GPIO。
GPIO, 全称 General-Purpose Input/Output(通用输入输出)
RK3399 有 5 组 GPIO bank:GPIO0~GPIO4。所有的 GPIO 在上电后的初始状态都是输入模式,可以通过软件设为上拉或下拉,也可以设置为中断脚。 每个 GPIO 口除了通用输入输出功能外,还可能有其它复用功能。
那我们知道什么是GPIO了,那如何去学习和应用GPIO呢?
一、前言
在学习51单片机时,要控制一个GPIO输出高、低电平,就得根据对应IO寄存器每一bit的作用非常了解,然后配置时钟、速率、方向、上下拉等等。51单片机是一款8位MCU,在配置寄存器相对容易,如果是32位甚至64位的处理器呢,会大大增加配置的复杂度。
后来ST推出了STM32,并迅速收获一大批开发者和市场占有份额,至今依然是岿然不动。原因之一就是ST推出了一个“BSP标准库”(当然后来有推出了HAL、LL库等),BSP库屏蔽了底层寄存,大大释放了开发者的工作量,让开发者眼前一亮——原来MCU也可以这样开发。确实,BSP层应该由原厂实现,驱动工程师只做驱动&