首页 百科知识 串口通信实验

串口通信实验

时间:2022-10-27 百科知识 版权反馈
【摘要】:(2)软件:μVision IDE for ARM集成开发环境,Windows 98/2000/NT/XP/7.本教学实验平台的电路中,UART0串口电路如图7-9所示,UART0只采用两根接线RXD0和TXD0,因此只能进行简单的数据传输及接收功能.UART0则采用MAX3221E作为电平转换器.下面列出的两个函数,是我们本实验用到的两个主要函数,包括UART初始化,字符的接收函数,希望大家仔细

7.4 串口通信实验

7.4.1 实验目的

(1)了解S3C2410X处理器UART相关控制寄存器的使用.

(2)熟悉ARM处理器系统硬件电路中UART接口的设计方法.

(3)掌握ARM处理器串行通信的软件编程方法.

7.4.2 实验设备

(1)硬件:Embest EduKit-Ⅲ实验平台,ULINK USB-JTAG仿真器套件,PC.

(2)软件:μVision IDE for ARM集成开发环境,Windows 98/2000/NT/XP/7.

7.4.3 实验内容

(1)编写S3C2410X处理器的串口通信程序.

(2)监视串行口UART0动作.

(3)将从UART0接收到的字符串回送显示.

7.4.4 实验原理

(1)UART原理.

UART原理请参考6.4.

(2)电路设计.

本教学实验平台的电路中,UART0串口电路如图7-9所示,UART0只采用两根接线RXD0和TXD0,因此只能进行简单的数据传输及接收功能.UART0则采用MAX3221E作为电平转换器.

img322

图7-9 UART0与S3C2410的连接图

7.4.5 UART初始化代码

下面列出的两个函数,是我们本实验用到的两个主要函数,包括UART初始化,字符的接收函数,希望大家仔细阅读,理解每一行的含义.这几个函数可以在例程目录下\common\include\2410lib.c文件内找到.

img323

img324

下面是接收字符的实现函数:

img325

7.4.6 实验操作步骤

(1)准备实验环境.

使用ULINK USB-JTAG仿真器连接到目标板上.使用Embest EduKit-Ⅲ实验板附带的串口线,连接实验板上的UART0和PC的串口.

(2)串口接收设置.

在PC上运行Windows自带的超级终端串口通信程序(波特率115200、1位停止位、无校验位、无硬件流控制),或者使用其他串口通信程序.

(3)打开实验例程.

①拷贝实验平台附带光盘CD1\CD1_Basic_070615\Software文件夹到RealView MDK软件的安装目录的Keil\ARM\Boards\Embest\目录下(如果已经拷贝,可跳过此步骤).

②使用μVision IDE for ARM通过ULINK USB-JTAG仿真器连接实验板,打开实验例程目录4.4_uart_test子目录下的uart_test.Uv2例程,编译链接工程.

③根据ReadMe目录下的ReadMeCommon.txt及readme.txt文件配置集成开发环境(工程默认已经配置正确),点击工具栏img326”,在Option for Target对话框的Linker页中选择RuninRAM.sct分散加载文件,点击MDK的Debug菜单,选择Start/Stop Debug Session项或点击工具栏“img327”,下载工程生成的.axf文件到目标板的RAM中调试运行.

④如果需要将程序烧写固化到Flash中,仅需要更改分散加载文件即可(须慎用,这一步的操作将会破坏Flash中原有固化程序,建议实验中不操作).在Option for Target对话框的Linker页中选择RuninFlash.sct分散加载文件,重新编译工程,点击MDK的Flash菜单,选择Download烧写调试代码到目标系统的Nor Flash中,重启实验板,实验板将会运行烧写到Nor Flash中的代码.

⑤在超级终端的“Please input words that you want to transmit:”提示后输入想要发送的数据,并以回车作为发送字符串的结尾标志.

⑥继续运行程序,直至程序的结尾.

⑦结合实验内容和实验原理部分,熟练掌握S3C2410A处理器UART模块的使用.

(4)观察实验结果.

在执行到第⑤步时,可以看到超级终端上输出等待输入字符.

boot success...

UART0Communication Test Example

Please input words,then press Enter:

/>

如果输入字符就会马上显示在超级终端上(假设输入为abcdefg),输入回车符后打印一整串字符:

The words that you input are:

abcdefg

7.4.7 实验参考程序及流程图

img328

图7-10 串口通信实验流程图

代码

img329

img330

串口通信函数库中的其他函数:

void uart_getString(char*pString);

int uart_getintnum(void);

void uart_sendbyte(int nData);

void uart_sendstring(char*pString);

这些函数的详细定义,请参考\common\include\2410lib.c.

7.4.8 练习题

1.编写程序实现在LCD上显示从串口接收到的字符.

2.思考题:怎样在本例程的基础上,增加错误检测功能?

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈