学习imx6ull (1)

从今天开始写博客记录一下imx6ull的学习过程(1)

首先确定一下LED灯的电路图

低电平点亮,高电平熄灭

确定 LED0CPUGPIO1_3连接。

IMX6ULL IO配置过程:

配置时钟–>配置引脚的复用功能–>配置引脚的电气属性–>设置数据寄存器的数值以改变高低电平

1.参考手册的第十八章介绍了 imx6ull 的时钟树

其中寄存器 CCGR0–CCGR6 的控制着芯片上所有的时钟配置。如下图:
在这里插入图片描述
找到GPIO1控制时钟所对应的控制位,将其设置为打开,这里填入11
在这里插入图片描述
不同配置代表的含义
在这里插入图片描述

2.配置GPIO1_IO03引脚功能复用

参考手册的第三十二章有详细介绍
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
看第三个关键字,如果是MUX就是配置复用的 如果是PAD就是配置电气属性的

3.设置GPIO1_IO03的电气属性

在这里插入图片描述
上图为配置寄存器,阴影部分的位是保留位

> HYS位(位16)
这个在IO输入时才有效,用作迟滞延时
在这里插入图片描述
>PUS位(位15与位14)

在这里插入图片描述
选择引脚上拉和下拉,并确定阻值

PUE位(位13)-----图没有给出来

当 IO 作为输入的时候,这个位用来设置 IO 使用上下拉还是状态保持器。当为 0 的时候使用状态保持器,当为 1 的时候使用上下拉。状态保持器在IO 作为输入的时候才有用,顾名思义,就是当外部电路断电以后此 IO 口可以保持住以前的状态。

PKE(bit12)

此为用来使能或者禁止上下拉/状态保持器功能,为0 时禁止上下拉/状态保持器,为 1 时使能上下拉和状态保持器。

ODE(bit11):

当 IO 作为输出的时候,此位用来禁止或者使能开路输出,此位为 0 的时候禁止开路输出,当此位为 1 的时候就使能开路输出功能。
OD模式打开 ------1
OD模式关闭 ------0

SPEED (bit7 :6)

在这里插入图片描述
设置IO引脚的电平翻转速度
DSE(bit5:3):

在这里插入图片描述

上图 中的 DSE,当 IO 用作输出的时候用来设置 IO 的驱动能力,总共有 8 个可选选项,当设置为111时,驱动能力最强,但是芯片的功耗也就越大了

SRE(bit0):

设置压摆率,当此位为 0 的时候是低压摆率,当为 1的时候是高压摆率。这里的压摆率就是 IO 电平跳变所需要的时间,比如从 0 到 1 需要多少时间,时间越小波形就越陡,说明压摆率越高;反之,时间越多波形就越缓,压摆率就越低。如果你的产品要过 EMC 的话那就可以使用小的压摆率,因为波形缓和,如果你当前所使用的 IO做高速通信的话就可以使用高压摆率。

4.接下来介绍GPIO 设置

IMX6ULL一共有5组GPIO,每组最多32个引脚

GPIO10-31
GPIO20-21
GPIO30-28
GPIO40-28
GPIO50-11

IO设置寄存器一共有八个:
DR、 GDIR、 PSR、 ICR1、 ICR2、 EDGE_SEL、 IMR 和 ISR。前面我们说了 I.MX6U 一共有GPIO1~GPIO5 共五组 GPIO,每组 GPIO 都有这 8 个寄存器。我们来看一下这 8 个寄存器都是什么含义。(控制gpio高低电平,只需修改DR ,GDIR)
DR数据寄存器

图中哪一位为1 那么这一位就输出高电平(前提是GDIR相应的位要为1,即为输出状态)
在这里插入图片描述

以上寄存器介绍完毕,下一篇介绍如何编写汇编代码!!!

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
你想要学习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控制!如果你有其他问题,欢迎继续提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值