imx6ul 14 之UART

  • ch340:串口转usb的芯片
    开发板 —> uart —> ch340 —> usb —> 电脑

6ull的串口 UART 原理

UART_URXD 保存串口接收到的数据,bit7 ~ 0。其它位用不到。
UART_UTXD 发送数据,bit7 ~ 0。将待发送数据写入到该寄存器的 bit7 ~ 0
UART_UCR1 ~UART_UCR4 都是端口的控制寄存器。
UART_UCR1 的 bit0 是 UART 使能位,为1使能UART。bit14 为自动检测波特率使能位,为1的时候使能自动检测波特率。
UART_UCR2 的 bit0为软件复位位,为0复位UART,为1不复位。bit1 是接收使能,为1 使能。bit2 是发送使能。bit5 设置数据长度,为0是7位长度,为1表示8位。bit6设置停止位,为0表示1位停止位,为1表示2位停止位。bit7 是奇偶校验位,为0是even偶校验,为1奇校验。bit8 是校验使能位,parity enable,为0时,关闭校验。
UART_UCR3 的 bit2 必须为1。
UART_UCR4 基本没用到。
UART_UFCR 的 bit9 ~ 7 设置分频值。UART 的时钟源 PLL3 / 6 = 480 / 6 = 80 MHz。然后通过设置这三个位来进一步分频。CSCDR1 的 UART_CLK_SEL 位设置 UART 的时钟源,为0的时候来自 pll3_80m,为1的时候是 osc_24M 晶振。CSCDR1 的 UART_CLK_PODF 位控制分频,一般设置为1分频。
UART_UFCR 、UART_UBIR 和 UART_UBMR 这三个寄存器决定了串口波特率。公式是
BaudRate = Ref_Freq / ( 16 * ( UBMR + 1 ) / ( UBIR + 1 ) )
UART_USR2 的 bit0 为1表示有数据可以读取。bit3 为1的时候表示数据发送完成。

实验程序编写

UART1_TXD 使用的 IO 为 UART1_TX_DATA , UART1_RXD 使用的 IO 为 UART1_RX_DATA
参考chapter 32 IOMUXC 章节
SecuCRT 打开以后串口接收到乱码,因为 linux 默认是 utf-8 编码,因此需要设置 SecuCRT 的编码模式为 utf-8

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值