IMX6ULL学习笔记——IO所有配置及功能解释

**

IO所有配置及功能解释

IO寄存器配置及部分功能解释

  • 1、 点灯第一步:使能外设时钟
    说明:使能外设时钟可以开启对应的功能,使能后的引脚才能使用,目的为降低功耗以及发热情况。
    方法:打开I.MX6ULL参考手册,找到CCGR寄存器地址,写入0xffffffff使能对应外设时钟
    18章
    时钟控制寄存器章节。
    在这里插入图片描述
    同理,使能所有CCGR寄存器

  • 2、配置GPIO1_IO03 PIN复用为GPIO
    手册第32章,寄存器
    IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO03
    IMX6ULL学习笔记——IO所有配置及功能解释_第1张图片
    简单易懂,配置为0101即复用为GPIO。
    IMX6ULL学习笔记——IO所有配置及功能解释_第2张图片

  • 3、配置GPIO电气属性
    手册第32章 寄存器IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO03
    IMX6ULL学习笔记——IO所有配置及功能解释_第3张图片
    IMX6ULL学习笔记——IO所有配置及功能解释_第4张图片
    bit0 : 高低电平切换速度选择 0低速1高速
    bit5:3 :驱动能力选择
     000 DSE_0_output_driver_disabled_ — output driver disabled; 禁止输出
     001 DSE_1_R0_260_Ohm___3_3V__150_Ohm_1_8V__240_Ohm_for_DDR_ — R0(260 Ohm @
     3.3V, 150 [email protected], 240 Ohm for DDR) -R0:260欧姆@3.3v;150欧姆@1.8v
     010 DSE_2_R0_2 — R0/2 -R0的二分之一,一下类同
     011 DSE_3_R0_3 — R0/3
     100 DSE_4_R0_4 — R0/4
     101 DSE_5_R0_5 — R0/5
     110 DSE_6_R0_6 — R0/6
     111 DSE_7_R0_7 — R0/7
    bit7:6 :速度选择
     00 SPEED_0_low_50MHz_ — low(50MHz) 最低50MHz
     01 SPEED_1_medium_100MHz_ — medium(100MHz)中间值100MHz
     10 SPEED_2_medium_100MHz_ — medium(100MHz)中间值100MHz
     11 SPEED_3_max_200MHz_ — max(200MHz) 最大200MHz
    bit11 :漏极开路
     0 ODE_0_Open_Drain_Disabled — Open Drain Disabled :禁止漏极开路
     1 ODE_1_Open_Drain_Enabled — Open Drain Enabled: 使能漏极开路
    bit12 :使能字段
     0 PKE_0_Pull_Keeper_Disabled — Pull/Keeper Disabled: 禁止拉/保持
     1 PKE_1_Pull_Keeper_Enabled — Pull/Keeper Enabled: 使能拉/保持
    bit13 :使能输出状态保存
    使能输出状态保存器可以在内核供电关掉之后,使IO的输出自动维持在关电之前的逻辑状态(需要注意的是输出状态保存器不能与上下拉同时工作)。其价值同样可以体现在低功耗的应用中
      0 PUE_0_Keeper — Keeper :保持
      1 PUE_1_Pull — Pull :上拉
    bit15:14 :设置上下拉电阻阻值
    主要作用是提高输出信号的驱动能力、确定输入信号的电平(防止干扰)
      00 PUS_0_100K_Ohm_Pull_Down — 100K Ohm Pull Down :100K欧姆的拉低
      01 PUS_1_47K_Ohm_Pull_Up — 47K Ohm Pull Up :47K欧姆的拉高
      10 PUS_2_100K_Ohm_Pull_Up — 100K Ohm Pull Up :100K欧姆的拉高
      11 PUS_3_22K_Ohm_Pull_Up — 22K Ohm Pull Up :22K欧姆的拉高
    bit16 :磁滞使能字段,作为输入时有效
      0 HYS_0_Hysteresis_Disabled — Hysteresis Disabled:禁止磁滞
      1 HYS_1_Hysteresis_Enabled — Hysteresis Enabled: 使能磁滞
    IMX6ULL学习笔记——IO所有配置及功能解释_第5张图片
    即为:
    IMX6ULL学习笔记——IO所有配置及功能解释_第6张图片在这里插入图片描述

  • 4、设置GPIO为输出
    手册第28章 寄存器GPIO1_GDIR
    IMX6ULL学习笔记——IO所有配置及功能解释_第7张图片

  • 5、拉低IO点亮LED
    手册第28章 寄存器GPIO1_DR
    IMX6ULL学习笔记——IO所有配置及功能解释_第8张图片

  • 6、设置循环
    loop:
      b loop

你可能感兴趣的:(电子设计,学习笔记,嵌入式)