单片机/MCUwilliam hill官网
直播中

松山归人

11年用户 4194经验值
擅长:可编程逻辑,RF/无线
私信 关注
[文章]

【项目实战】RISC-V鸿蒙开发板单片机简介4

作者:张角老师(张飞实战电子高级工程师)
讲完了I2C接口,我们下面来看一下UART通信相关的配置。UART接口是GPIO复用功能中最常用的一种硬件通信方式。如果只是单线通信的话,只需要一根数据线就够了,所以我们经常使用uart接口输出程序中的变量,进行调试。
        在这块开发板中,对uart接口进行初始化的函数如下图所示。对UART接口配置,一个非常关键的参数就是波特率的配置。下图中,绿色部分一大块内容都是对波特率配置的程序段,可见其相对来说比较复杂,我们不需要去关注这些实现的细节,实际使用的时候拿过来用就好了。
图片5.jpg
图片6.jpg
下面,我们对相关的寄存器进行简要的介绍。

LCRLine Control Register是线控制寄存器,所谓线控制器,主要是用于配置和传输相关的一些参数。比如,第4位是用来做奇偶校验配置的,第0-1位是用来控制一次传送多少个bits的。
图片7.jpg
图片8.jpg
IER: Interrupt Enable Register,这个是中断控制器主要控制和UART相关的中断操作的,是不是允许相应的中断。

FCR:是用来控制FIFO 相关的参数的。我们这里不使用FIFO,所以要把它禁止掉。和FIFO相关的参数,这里就不给大家展示了。
图片9.jpg

MCR,全称是        Modem Control Register,也就是和调制解调相关的寄存器。我们这里配置的两个位一个是RTSRequest to Send),一个是DTRData Terminal Ready)。这两个位,我们在实际使用串口的时候也会经常用到,但是实际一般不配置相应的握手协议。
图片10.jpg
图片11.jpg

配置好寄存器之后,就要开始发送数据了。数据的发送,主要是THR这个寄存器。THR的全称是Transmit Holding Register。实际发送数据的时候,只需要往这个寄存器里面写入数据就可以了。写入数据之后,UART相关的威廉希尔官方网站 ,自动发送数据给接收端。
篇幅长,完整内容见附件:
11 RISC-V鸿蒙系统开发板单片机简介4-uart接口初始化.pdf (1.16 MB)
(下载次数: 8, 2021-7-10 11:54 上传)


更多回帖

发帖
×
20
完善资料,
赚取积分