DSP-通用异步串行口(UART)实验

DSP-通用异步串行口(UART)实验

ID:42443135

大小:51.00 KB

页数:4页

时间:2019-09-15

DSP-通用异步串行口(UART)实验_第1页
DSP-通用异步串行口(UART)实验_第2页
DSP-通用异步串行口(UART)实验_第3页
DSP-通用异步串行口(UART)实验_第4页
资源描述:

《DSP-通用异步串行口(UART)实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、龙岩实验报口班级学号姓名同组人实验日期室温大气压成绩实验六通用异步串行口(UART)实验一、实验目的1、掌握异步串行通信协议;2、掌握2812异步收发器模块的应用。二、实验设备1、一台装有CCS软件的计算机;2、DSP试验箱的TMS320F2812主控板;3、DSP硬件仿真器。三、实验原理1、异步串行通信协议在传输数据前,数据线处于高电平状态,这称为表示态。传输开始后,数据线由高电平转为低电平状态,这称为起始位;起始位后面接着5-8个信息位;信息为后而是校验位;校验位后是停止位“1”。传输完毕后,可以立即开始下一个字符的传输;否则,

2、数据线再次进入标识态。上面提到的信息位的位数(5〜8位)、停止位的位数(1位、1.5位或2位)、校验的方式(奇偶验、偶校验或不校验)等参数都可以根据不同需要进行设置,但对于同一个传输系统屮的首发两端来说,这些参数必须保持一致。异步串行通信方式屮另一个重耍的参数是波特率。在一般的系统屮,波特率就是每秒钟传输的位数。国际上规定了一个标准波特率系列,他们是最常用的波特率。标准波特率系列为110、300、600、1200、1800、2400、4800、9600和19200o发送端和接收端必须设置统一的波特率,否则无法止确接收数据。2、屯平转

3、换RS-232-C标准中规定-5厂-15V位逻辑“1”,+5V~+15V位逻辑“0”,因此要用专门的芯片完成TTL电平与RS-232电平的转换,如MAX3232。3、串行口调试助手该计算机端程序可以监测计算机串II接收和发送数据的情况。木实验中需要用该程序帮助观察实验结果。四、实验步坍1、用串口线连接实验箱的UART模块与计算机串行口;2、在CCS环境中打开本实验的工程Example.sci.pjt,编译,生成输出文件,通过仿真器把执行代码下载到DSP芯片;3、在计算机上运行串口调试助手程序,设置串口为Coml,波特率为9600,校

4、验为None,停止位为1位,十六进制显示,以待观察从DSP往PC吊口发送的数据;4、选择"View”->amemoryv,起始地址设为“0x1000”,"Page”项设置为“I/O”,以待观察寄存器的值;5、在串口调试助手程序的发送窗口键入任意字符(如“5A”)以待发送至DSP,并冃选择手动发送模式(即不选屮自动发送项)和十六进制发送;五、实验总结本实验为通用异步串行接口(UART)实验,运行程序后能通过在串口调试助手程序中,在接收窗口屮可以观察正确接收到OXOO^OXFF的数据。冇时却发现接收到数据不止常,都是乱码,经杳证发现设置

5、吊丨I错谋并且波特率有问题改止为Coml,波特率为9600可以正确接收到0X00PXFF的数据。在本实验中使我常握了异步串行通信协议及其使用方法,掌握了2812异步收发器模块的应用方法,并能通过串口调试助手对主板的数据收发等功能。并使我进一步掌握用C语言编写DSP程序的方法,及编译、除错能力。附页:实验原程序代码^include"include/DSP281xDevice,h"#iDelude/,include/DSP281x_Examples.h/zvoidscia_loopback_init(void);voidscia_fif

6、o_init(void);voidsciaxmit(inta);voiderror(int);interruptvoidsciarxisr(void);interruptvoidscia_tx_isr(void);Uintl6LoopCount;Uint16ErrorCoimt;voidmain(void){Uintl6SendChar;Uintl6ReceivodChar;InitSysCtrl();EALLOW;GpioMuxRegs.GPFMUX.al1=0x0030;//SelectGPTOstobeScipinsDINT;

7、1ER二0x0000;1FR二0x0000;TnitPieVectTable();EnableTnterrupts();LoopCount=0;ErrorCount=0;sciafifoinit();//InitializetheSCIFIFOscia_loopback_init();//InitaiizeSCIfordigitdlloopbackSendChar=0;for(;;){sciaxmit(SendChar);while(SciaRegs.SCIFFRX.bit.RXFIFST!=1){}//waitforXRDY=1f

8、oremptystateReceivedChar=SciaRegs.SCTRXBUF.al1;if(ReceivedChar!=SendChar)error(1);SendChar++;SendChar&二OxOOFF;LoopCou

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。