dsp实验-UART串口通信实验.docVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
dsp实验-UART串口通信实验

实验八、UART串口通信实验 一、实验目的 1. 了解RS232通信接口的基本原理; 2. 熟悉通信接口芯片(TL16C550C 3.了解异步通信中串口模式选择、设置数据传输格式、设置波特率、建立连接、传输数据和断开连接等功能。 二、实验设备 1. 集成开发环境CCS 2. 实验开发板TMS320VC5402DSK、RS232接口电缆线及附件 3.程序“串口调试程序v2.2.exe” 三、实验内容及步骤 实验操作流程参照前面实验。 1 在汇编环境调试Uart:(实现字符或文件的发送和回发功能) a. 实验代码main.s54、uartasm.cmd和uart_init.s54、dsp_init.s54以及uartasm.h54,c5402_dsk.gel(说明同前)。 b. 串口调试程序“串口调试程序v2.2.exe” , 汇编调试中Build option设置情况与CODEC实验中的汇编调试设置及出错情况相同。 c. 程序文件介绍: 1) “uart.h54” 2) “dsp_init.s54” 3) “uart_init.s54” 4) “main.s54” d. 执行程序时,只要发送数据时,可在串口调试程序的接收窗口立即看到回发的数据。 e. 程序中UART工作参数设置如下: 1) 波特率9600(或更低)、无数据校验、字符长度8比特、停止位1、2 均可; 2) 接收区自动清空不选、十六进制显示可选可不选;发送区不能选十六进制发送,可发送字符和文件两种方式; 3) IER允许数据就绪中断和线路状态中断; 4) FIFO不使能,所以,在用串口程序调试时,只能单个字符发送,如“x”。若采用16进制发送,应2位发送,如“a4”。 f. 用汇编语句编写UART应用程序基本步骤: 1) 在UART初始化程序中设置UART寄存器,特别是IER、LCR、FCR和除数寄存器LSBMSB;并且检测UART工作是否正常。 2) 设置寄存器CNTL2,选择UART作为信号源,这也放在UART初始程序中。 3) 在DSP初始程序中设定DSP工作方式,这主要通过设置寄存器ST1、ST0、INTM、IFR、SWWSR、PMST、IMR、CLKMD等。 4) 编写主程序和中断程序,通常在中断程序中把数据从UART中读到CPU,然后在主程序中对数据进行处理。 2 用C函数库调试Uart: (通过UART串行口实现对DSK板的控制) a. 实验代码uartc.c、5402.cmd和c5402_dsk.gel,另外还有库函数drv5402.lib、dsk5402.lib、rts.lib以及头文件board.h、mcbsp54.h、regs54xx.h、regs.h、type.h、uart.h。 b. 串口调试程序“串口调试程序v2.2.exe” ,混合编程下Build option中Autoinit Model用Load-time Initialization或Run-time Initialization及No Initializationc均为0 Errors, 0 Warnings。但用No Initializationc与C的编译环境不符,将做不出实验结果。 c. 程序中UART工作参数与汇编调试设置相同。运行程序后,串口程序窗口会出现提示“Select a leed to light? 0/1/2,Or,press 5 to end the program ”,这是通过函数“uart_fputs()”输出的。在键入指定的数字时,相应的LED将亮大约一秒钟。 d. 本程序中用到了如下驱动函数,分别为: 1)brd_init(int):dsk板初始化,输入参数是工作主频; 2)uart_init(void):uart模块初始化,不带参数,不过在调用前需设定好一些全局变 量,如波特率、字长、停止位、校验方式、fifo控制方式、数字环使能等; 3)uart_fputs(string):向uart输出字符串; 4)uart_fgetc():从uart中读取一个字符; 5)brd_led_enable(BRD_LED):打开指定的led; 6)brd_led_disable(BRD_LED):关闭指定的led。 e. 程序中还自定义了一些函数: 1)void delay(int):实现延时功能; 2)int initpro(struct uartset):初始化uart模块,其中结构体参量定义了uart的一些工作参数; 3)void lightled(void):按照用户的选择亮相应的led灯。 f. 此外,TI公司还提供了许多函数方便对uart的使用,这些函数的使用说明见头文件“uart.h”。

文档评论(0)

zsmfjy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档