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作为电平转换器.
图7-9 UART0与S3C2410的连接图
7.4.5 UART初始化代码
下面列出的两个函数,是我们本实验用到的两个主要函数,包括UART初始化,字符的接收函数,希望大家仔细阅读,理解每一行的含义.这几个函数可以在例程目录下\common\include\2410lib.c文件内找到.
下面是接收字符的实现函数:
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文件配置集成开发环境(工程默认已经配置正确),点击工具栏“”,在Option for Target对话框的Linker页中选择RuninRAM.sct分散加载文件,点击MDK的Debug菜单,选择Start/Stop Debug Session项或点击工具栏“”,下载工程生成的.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 实验参考程序及流程图
图7-10 串口通信实验流程图
代码
串口通信函数库中的其他函数:
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.思考题:怎样在本例程的基础上,增加错误检测功能?
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。