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

**

IO所有配置及功能解释

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

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

  • 2、配置GPIO1_IO03 PIN复用为GPIO
    手册第32章,寄存器
    IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO03
    在这里插入图片描述
    简单易懂,配置为0101即复用为GPIO。
    在这里插入图片描述

  • 3、配置GPIO电气属性
    手册第32章 寄存器IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO03
    在这里插入图片描述
    在这里插入图片描述
    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 Ohm@1.8V, 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: 使能磁滞
    在这里插入图片描述
    即为:
    在这里插入图片描述在这里插入图片描述

  • 4、设置GPIO为输出
    手册第28章 寄存器GPIO1_GDIR
    在这里插入图片描述

  • 5、拉低IO点亮LED
    手册第28章 寄存器GPIO1_DR
    在这里插入图片描述

  • 6、设置循环
    loop:
      b loop

  • 6
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你想要学习IMX6ULL平台上裸机(即不依赖操作系统)编程控制LCD吗?这是一个不错的学习项目!在开始之前,你需要了解一些基本的知识,包括LCD的工作原理、接口协议以及IMX6ULL平台的GPIO控制等。以下是一些步骤供你参考: 1. 了解LCD的基本知识:学习LCD的工作原理、显示原理、分辨率、颜色深度等。 2. 确定LCD的接口类型:IMX6ULL平台可能支持不同的接口类型,如RGB、LVDS、MIPI等,你需要确定你使用的LCD的接口类型,并准备相应的连接线。 3. 配置IMX6ULL的GPIO:通过配置IMX6ULL的GPIO引脚,将其连接到LCD的控制和数据线上。你可以查阅IMX6ULL的技术文档或参考资料来了解如何配置GPIO。 4. 编写LCD控制代码:使用C语言或汇编语言编写裸机代码,通过设置GPIO引脚的电平和发送相应的命令和数据来控制LCD。你需要根据LCD的接口协议编写相应的代码。 5. 调试和测试:将代码下载到IMX6ULL开发板上,连接LCD,并进行调试和测试。你可以使用示波器或逻辑分析仪来检查信号是否正确发送到LCD,并观察LCD是否正确显示图像。 请注意,裸机编程需要一定的硬件和低级编程知识。确保在开始之前对相关的知识和技术有一定的了解。另外,IMX6ULL平台可能有其特定的文档和资料,你可以查阅相关文档以获取更详细的信息。祝你成功学习LCD控制!如果你有其他问题,欢迎继续提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值