1、UART 串行数据通信实验 1(查询方式)实验内容通过串口 0 接收上位机发送的字符串,如“Hello EasyARM2131!” ,然后返回上位机显示。实验步骤 启动 ADS 1.2,使用 ARM Executable Image for lpc2131 工程模板建立一个工程DataRet_C。 在 user 组中的 main.c 中编写主程序代码,在项目中的 config.h 文件中加入#include 。 选用 DebugInRam 生成目标,然后编译连接工程。 将 EasyARM2131 开发板上的 JP6 跳线分别选择 TxD0 和 RxD0 端时,方可进行UART0 通信实验。 使
2、用串口延长线把 LPC2131 教学实验开发平台的 CZ2(UART0)与 PC 机的 COM1 连接。PC 机运行 EasyARM 软件,设置串口为 COM1,波特率为 115200,然后选择【设置】- 【发送数据】 ,在弹出的发送数据窗口中点击“高级”即可打开接收窗口。 选择【Project】-【Debug】 ,启动 AXD 进行 JTAG 仿真调试。全速运行程序,在 PC 机上的 EasyARM 软件发送如“Hello EasyARM2131!”字样的字符串,EasyARM2131 开发板接收到数据后,并将接收到的数据回发给 PC 机。实验参考程序程序清单 Error! No text
3、of specified style in document.-1 UART 查询实验参考程序#include “config.h”#define UART_BPS 115200 /串口通信波特率/* 名 称:DelayNS()* 功 能:长软件延时* 入口参数:dly 延时参数,值越大,延时越久* 出口参数:无*/void DelayNS(uint32 dly) uint32 i;for(; dly0; dly-) for(i=0; i 0; n- )*s+ = UART0_GetByte();/*函数名称:UART0_SendByte()*函数功能:向串口发送字节数据*入口参数:dat 要
4、发送的数据*出口参数:无*/void UART0_SendByte(uint8 dat)U0THR = dat; /写入数据while(U0LSR /等待数据发送完毕/*函数名称:UART0_SendStr()*函数功能:向串口发送一字符串*入口参数:str 要发送的字符串的指针*出口参数:无*/void UART0_SendStr(uint8 const *str)while(1)if( *str = 0 )break; /遇到结束符,退出UART0_SendByte(*str+); /发送数据/* 名 称:main()* 功 能:从串口 UART0 接收字符串“Hello EasyARM2131!”,并发送回上位机显示* 说 明:需要 PC 串口显示终端软件,如 EasyARM.exe。*/int main(void)uint8 snd32;PINSEL0 = 0x00000005; / 设置 I/O 连接到 UART0UART0_Init(); /串口初始化UART0_GetStr(snd, 18); /从串口接收字符串DelayNS(10);UART0_SendStr(snd); /向串口发送字符串DelayNS(10);while(1);return(0);