项目概述
为了理解uart的使用,学习并编写了uart发送与接收模块进行测试。
项目目标:通过串口助手向开发板发送数据,开发板接收到数据并点亮LED,之后将这个数据发送给电脑并通过串口助手显示,实际是每个0.5s发送一个数据。
开发板:安路EG4S20BG256
开发环境:安路TD5.6.2
前情提要
在进行程序开发时我有一点一直很迷惑,就是我编写的tx以及rx模块和串口助手里显示的tx与rx总是无法匹配,后来总结发现,它们应该是反着表示的。
这两幅图一个是串口助手的界面,一个是我的顶层程序,串口助手下面也有Rx和Tx的字样,我的程序名称也直接取的rx和tx,但串口助手里的Rx与Tx是针对电脑来说的,我程序里的rx与tx是针对开发板来说的,所以它们所代表的功能是相反的。
例如,上边的Rx显示接收到了3552个字节,对应我下边图里设定的tx程序,由于TX_En_Sig信号始终设为了1,因此持续向电脑发送数据,截止截图的时刻电脑就接收到了这么多的数据。
上边的Tx也一样,它代表只发送了1个字节,就是上图中下面方框里的“11”,它代表我通过电脑里的串口助手向开发板发送了一个字节,而这个字节则被下图里的rx模块接收,并输出给了LED,电量了灯泡。
所以,这两个rx与tx虽然名字一样,但在不同的地方是针对不同的主机来看的。
系统架构
本工程包含三个主要的部分,分别为TX模块、RX模块以及顶层TOP模块,并建立tb程序对项目进行了仿真测试。