I.MX6U 学习笔记十一------串口实验

6ULL串口UART原理

6ULL的UART_URXD寄存器保存这串口接收到的数据。
UART_UTXD寄存器为发送数据寄存器,如果需要通过串口发送数据,只需要将数据写入到UART_UTXD寄存器里面。
UART_UCR1~UCR4都是串口的控制寄存器。UART_UCR1的bit0是UART的使能位,为1的时候使能UART。Bit14为自动检测波特率使能位,为1的时候使能波特率自动检测。
UART_UCR2的bit0为软件复位位。为0的时候复位UART。Bit1使能UART的接收,我们要配置为1。Bit2为发送使能,要设置为1。Bit5设置数据位,0的话表示7位数据位,1的话表示8位数据位。Bit6设置停止位,0的话表示1位停止位,1的话表示2位。Bit7奇偶校验位,为0的时候是偶校验,为1的时候是奇校验。Bit8校验使能位,为0的时候关闭校验。
UART_UCR3的bit2必须为1!!!
UART_UFCR寄存器的bit9~7设置分频值,UART的时钟源=PLL3/6=480/6=80MHz。CSCDR1寄存器的UART_CLK_SEL位设置UART的时钟源,为0的时候UART时钟源为80MHz
,为1的时候UART时钟源为24M晶振。CSCDR1寄存器的UART_CLK_PODF位控制分频,一般设置为1分频,因此UART_CLK_ROOT=80MHZ
UART_UFCR、UART_UBIR和UART_UBMR这三个寄存器决定了串口波特率。
UART_USR2寄存器的bit0为1的时候表示有数据可以读取。Bit3为1的时候表示数据发送完成。

三、实验程序编写
UART1_TXD使用的IO为UART1_TX_DATA,UART1_RXD所使用的IO为UART1_RX_DATA。

Putc和puts编译的时候会提示吧报错,要在Makefile中添加-fno-builtin

SecuCRT打开以后串口接收到乱码,因为Linux默认用UTF-8编码,因此我们需要设置SecureCRT的编码模式为UTF-8
我们移植的printf不支持浮点计算和输出!!!!!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
i.MX6U SPL和u-boot是嵌入式系统中的两个重要组件,用于启动ARM架构的i.MX6U处理器。SPL(Secondary Program Loader)是首先加载到处理器的一段代码,其主要功能是初始化内存控制器和一些必要的外设,然后通过加载u-boot来完成系统的启动。 SPL可以理解为一个小型的操作系统,其大小通常在几十到几百KB之间,由于其能力有限,因此只能完成初始化和加载u-boot的任务。SPL会配置处理器的时钟、内存和外设等硬件资源,以便后续的操作系统能够正常运行。在i.MX6U处理器上,SPL还可以提供一些额外的功能,如从网络或外部存储设备加载u-boot。 u-boot是一个开源的引导加载器,在ARM嵌入式系统中广泛应用。它负责加载操作系统内核和文件系统,并提供丰富的命令行接口,用于系统的配置和调试。u-boot可以通过串口、网络和外部存储设备等多种方式进行通信,从而实现系统的启动和调试。 i.MX6U SPL和u-boot常常一起使用,以实现系统的启动和初始化。首先,SPL会被加载到处理器的内存中,并执行初始化操作和加载u-boot。接下来,u-boot会被加载到内存中,并根据配置文件的设置启动操作系统或加载文件系统。 总结来说,i.MX6U SPL和u-boot是i.MX6U处理器启动过程中不可或缺的两个组件,其中SPL负责初始化和加载u-boot,而u-boot则负责加载操作系统和提供系统配置和调试的功能。这两个组件的协同工作确保了i.MX6U处理器能够正常启动和运行。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值