欢迎来到天天文库
浏览记录
ID:38979833
大小:40.50 KB
页数:4页
时间:2019-06-22
《dsp实验-UART串口通信实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验八、UART串口通信实验一、实验目的1.了解RS232通信接口的基本原理;2.熟悉通信接口芯片(TL16C550C)在DSPI/O空间寄存器的地址映射及工作原理;3.了解异步通信中串口模式选择、设置数据传输格式、设置波特率、建立连接、传输数据和断开连接等功能。二、实验设备1.集成开发环境CCS2.实验开发板TMS320VC5402DSK、RS232接口电缆线及附件3.程序“串口调试程序v2.2.exe”三、实验内容及步骤实验操作流程参照前面实验。1在汇编环境调试Uart:(实现字符或文件的发送和回发功能)a.实验代码
2、main.s54、uartasm.cmd和uart_init.s54、dsp_init.s54以及uartasm.h54,c5402_dsk.gel(说明同前)。b.串口调试程序“串口调试程序v2.2.exe”,汇编调试中Buildoption设置情况与CODEC实验中的汇编调试设置及出错情况相同。c.程序文件介绍:1)“uart.h54”定义了一些寄存器的地址以及函数类型。2)“dsp_init.s54”与dsp工作有关的寄存器ST1、PMST、IMR、IFR和SWWSR,并且清除INTM位以及设定时钟模式。3)“ua
3、rt_init.s54”先检测UART模块是否工作正常,然后设定UART模块的寄存器,如CNTL1、CNTL2、LCR、MSB&LSB(设定波特率)、FCR、IER等。4)“main.s54”主程序查看标志位,检测是否UART存在有效接收数据。若有,则执行一定的处理,包括亮LED以及将接收的数据从UART回发。d.执行程序时,只要发送数据时,可在串口调试程序的接收窗口立即看到回发的数据。e.程序中UART工作参数设置如下:1)波特率9600(或更低)、无数据校验、字符长度8比特、停止位1、2均可;2)接收区自动清空不选、
4、十六进制显示可选可不选;发送区不能选十六进制发送,可发送字符和文件两种方式;3)IER允许数据就绪中断和线路状态中断;4)FIFO不使能,所以,在用串口程序调试时,只能单个字符发送,如“x”。若采用16进制发送,应2位发送,如“a4”。f.用汇编语句编写UART应用程序基本步骤:1)在UART初始化程序中设置UART寄存器,特别是IER、LCR、FCR和除数寄存器LSB&MSB;并且检测UART工作是否正常。2)设置寄存器CNTL2,选择UART作为信号源,这也放在UART初始程序中。3)在DSP初始程序中设定DSP工作
5、方式,这主要通过设置寄存器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、uar
6、t.h。b.串口调试程序“串口调试程序v2.2.exe”,混合编程下Buildoption中AutoinitModel用Load-timeInitialization或Run-timeInitialization及NoInitializationc均为0Errors,0Warnings。但用NoInitializationc与C的编译环境不符,将做不出实验结果。c.程序中UART工作参数与汇编调试设置相同。运行程序后,串口程序窗口会出现提示“Selectaleedtolight?0/1/2,Or,press5toendt
7、heprogram”,这是通过函数“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_l
8、ed_enable(BRD_LED):打开指定的led;6)brd_led_disable(BRD_LED):关闭指定的led。e.程序中还自定义了一些函数:1)voiddelay(int):实现延时功能;2)intinitpro(structuartset):初始化uart模块,其中结构体参量定义了uart的一些工
此文档下载收益归作者所有