首页 > 版块 > RISC-V > 帖子正文

RISC-V鸿蒙开发板单片机简介4(项目连载11)

张角 发布于 2021-10-27 13:43
收藏 0 回复 0 浏览 108 原创

讲完了I2C接口,我们下面来看一下UART通信相关的配置。UART接口是GPIO复用功能中最常用的一种硬件通信方式。如果只是单线通信的话,只需要一根数据线就够了,所以我们经常使用uart接口输出程序中的变量,进行调试。

在这块开发板中,对uart接口进行初始化的函数如下图所示。对UART接口配置,一个非常关键的参数就是波特率的配置。下图中,绿色部分一大块内容都是对波特率配置的程序段,可见其相对来说比较复杂,我们不需要去关注这些实现的细节,实际使用的时候拿过来用就好了。

image.png

image.png

下面,我们对相关的寄存器进行简要的介绍。

LCRLine Control Register是线控制寄存器,所谓线控制器,主要是用于配置和传输相关的一些参数。比如,第4位是用来做奇偶校验配置的,第0-1位是用来控制一次传送多少个bits的。

image.png

image.png

IER: Interrupt Enable Register,这个是中断控制器主要控制和UART相关的中断操作的,是不是允许相应的中断。

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

image.png

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

image.png

image.png

配置好寄存器之后,就要开始发送数据了。数据的发送,主要是THR这个寄存器。THR的全称是Transmit Holding Register。实际发送数据的时候,只需要往这个寄存器里面写入数据就可以了。写入数据之后,UART相关的电路,自动发送数据给接收端。

image.png

image.png

 上面就是这块开发板中关于UART配置的简要介绍。整体的思路和STM32的配置是相同的。新思科技的uart外设提供了非常多的寄存器进行的配置,更加贴近底层,但是这需要我们对uart的电路实现以及相关协议进行更加深入的理解才能驾驭得了。


0 0
发表评论 侵权投诉
评论 (0)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表乌云踏雪网立场。

文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。