LED裸机

关于STM32的GPIO的初始化:
在这里插入图片描述
初始化:
时钟;输出/输入功能、上拉、速度等等;设置复用功能等等

回顾GPIO和IO:
GPIO: 通用IO口。嵌入式系统中常常有数量众多,但是结构却比较简单的外部设备/电路,对这些设备/电路有的需要CPU为之提供控制手段,有的则需要被CPU用作输入信号。而且,许多这样的设备/电路只要求一位,即只要有开/关两种状态就够了,比如灯亮与灭。
和IO的区别:GPIO 的意思是通用输入输出端口,可由编程决定其状态,MCU 的 I/O 就是 GPIO,也称双向输入输出端口,而** I/O 则泛指所有类型的输入输出端口,包括单向的端口如逻辑门电路的输入输出管脚和双向的 GPIO 端口**,而 GPIO 则必然是双向的,这是为了避免不同语境下易造成混淆而采取的特称。

GPIO 只有 GPIO1_IO00~GPIO1_IO09?不是,还有IO的复用。

I.MX6U IO 复用
  1. 如(1):寄存器 IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO00。
    在这里插入图片描述
    GPIO1_IO00 一共可以复用为 9种功能 IO,分别对应 ALT0~ALT8,其中 ALT5 就是作为 GPIO1_IO00。GPIO1_IO00 还可以作为 I2C2_SCL、GPT1_CAPTURE1、NATOP_OTG1_ID 等。这个就是 I.MX6U 的 IO 复用。

  2. 如(2):寄存器 IOMUXC_SW_MUX_CTL_PAD_UART1_TX_DATA SW MUX Control Register
    在这里插入图片描述
    UART1_TX_DATA 可以复用为 8 种不同功能的 IO,分为
    ALT0~ALT5 和 ALT8、ATL9,其中 ALT5 表示 UART1_TX_DATA 可以复用为 GPIO1_IO16。

IO配置:

IOMUXC_SW_MUX_CTL_PAD_XX_XX :复用IOMUXC_SW_PAD_CTL_PAD_XX_XX :速度设置、驱动能力设置、压摆率设置等等。

GPIO 配置

GPIO 是一个 IO 众多复用功能中的一种。

如 GPIO1_IO00 这个 IO 可以复用为:I2C2_SCL、GPT1_CAPTURE1、ANATOP_OTG1_ID、ENET1_REF_CLK 、 MQS_RIGHT 、 GPIO1_IO00 、 ENET1_1588_EVENT0_IN 、SRC_SYSTEM_RESET 和 WDOG3_WDOG_B 这 9 个功能,GPIO1_IO00 是其中的一种,我们
想要把 GPIO1_IO00 用作哪个外设就复用为哪个外设功能即可。

如果我们要用 GPIO1_IO00 来点个灯、作为按键输入啥的就是使用其 GPIO(通用输入输出)的功能。将其复用为 GPIO 以后还需要对其 GPIO 的功能进行配置。
在这里插入图片描述
八个寄存器:DR、GDIR、PSR、ICR1、ICR2、EDGE_SEL、IMR 和 ISR。

GPIO时钟使能

CMM 有CCM_CCGR0~CCM_CCGR6 这 7 个寄存器,这 7 个寄存器控制着 I.MX6U 的所有外设时钟开关。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值