DSP实验五、TMS320F28335 串口通信实验.doc

上传人:小** 文档编号:76173551 上传时间:2019-02-03 格式:DOCX 页数:3 大小:86.79KB
返回 下载 相关 举报
DSP实验五、TMS320F28335 串口通信实验.doc_第1页
第1页 / 共3页
DSP实验五、TMS320F28335 串口通信实验.doc_第2页
第2页 / 共3页
DSP实验五、TMS320F28335 串口通信实验.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《DSP实验五、TMS320F28335 串口通信实验.doc》由会员分享,可在线阅读,更多相关《DSP实验五、TMS320F28335 串口通信实验.doc(3页珍藏版)》请在金锄头文库上搜索。

1、TMS320F28335串口通信实验实验目的:掌握TMS320F28335串口的使用;实现功能:1、 与电脑232 接口通讯,波特率9600 8N1;2、 电脑发送数据,开发板原数据返回;基础知识:TMS320F28335的3个功能相同的SCIA、SCIB、SCIC模块,都可以看做是UART串口;每个串口各有一个接收器、一个发送器。接收器和发送器各有一个16级深度的FIFO,他们都还有自己的使能和中断位。若要使SCI模块工作,DSP需要做如下设置:u 使用GPIOMU寄存器将对于的GPIO设置为SCI功能;u 将sysclkout经过低速预定标器之后输出低速时钟LSPCLK供给SCI;u 使能

2、SCI相关时钟,即PCLKCR寄存器中的SCIENCLK置1;u 通信格式、波特率、需要用到FIFO的情况,可以使能FIFO、使能中断等;实现步骤:1、 初始化串口IO引进为串口功能;开发板串口连接图,如上图,RnW为SCITDA、GPIO35复用引脚;ZCS0n为SCIRDA、GPIO36复用引脚;2、 设置串口相关寄存器、波特率等;3、 设置串口中断接收函数;4、 设置串口查询发送函数;遇到的问题:1、 中断发生后,要记得清PIEACK中断响应寄存器,否则只中断一次,以后再也不进入中断了,串口中断在读数据后会自动清中断标志。每个外设中断响应后,一定要对PIEACK的相关位进行软件复位,否则

3、同组内的其他中断都不会被响应。2、 了解SCI功能应参考MS3202833, 2823 Serial Communications Interface (SCI)3、 串口端口IO设置成 内部上拉、R端还应设为异步输入;具体SCI部分程序如下:/* * = sci_uart = * * * Created on: 2017年9月19日 * Author: liu */#include DSP2833_Device.h / DSP2833 Headerfile Include File#include DSP2833_Eamples.h / DSP2833 Eamples Include Fil

4、e#include sci_uart.h_interrupt void sciaRIsr(void);/* * = sci_uart_init = */void SCIA_uart_init(void)/GPIO35、36复用功能选择EALLOW;GpioCtrlRegs.GPBMU1.bit.GPIO35 = 1 ; /SCIA_TDAGpioCtrlRegs.GPBMU1.bit.GPIO36 = 1 ; /SCIA_RDAGpioCtrlRegs.GPBPUD.bit.GPIO35 = 0; / Enable pull-up for GPIO29 (SCITDA)GpioCtrlRegs

5、.GPBPUD.bit.GPIO36 = 0; / Enable pull-up for GPIO28 (SCIRDA)/定义管脚为异步输入GpioCtrlRegs.GPBDIR.bit.GPIO36 = 0 ;/输入GpioCtrlRegs.GPBQSEL1.bit.GPIO36 = 3;/异步输入EDIS;/基本通信参数设置 / Note: Clocks were turned on to the SCIA peripheral / in the InitSysCtrl() function SciaRegs.SCICCR.all =00007; / 1 stop bit, No loop

6、back / No parity,8 char bits, / async mode, idle-line protocolSciaRegs.SCICTL1.all =00003; / enable T, R, internal SCICLK, / Disable R ERR, SLEEP, TWAKESciaRegs.SCICTL2.all =00003;SciaRegs.SCICTL2.bit.TINTENA =0; /查询发送SciaRegs.SCICTL2.bit.RBKINTENA =1;/中断接收 SciaRegs.SCIHBAUD =4888;/ 9600 135MHzLSPCL

7、K = 33.75MHz /(9600*8)-1=4394 150MHzLSPCLK = 37.5MHz /(9600*8)-1=488 SciaRegs.SCILBAUD =488;SciaRegs.SCICTL1.all =00023; / Relinquish SCI from Reset/ Initialize the SCI FIFO 禁止FIFO功能 SciaRegs.SCIFFT.bit.SCIFFENA = 0 ; /禁止SCI FIFO功能 EALLOW;/ This is needed to write to EALLOW protected registers PieVe

8、ctTable.SCIRINTA = &sciaRIsr; EDIS;/ This is needed to disable write to EALLOW protected registersPieCtrlRegs.PIEIER9.bit.INT1=1;/ PIE Group 9, int1IER |= M_INT9;/ Enable CPU INTEINT;void SCIA_UART_Send_Byte( unsigned char Dat)while(SciaRegs.SCICTL2.bit.TRDY !=1);/等待SCIRBUF准备好才写入下一个所要发送的数据SciaRegs.SCITBUF = Dat;/SCIA串口中断接收处理函数_interrupt void sciaRIsr(void)if(SciaRegs.SCIRST.bit.RRDY = 1)SCIA_UART_Send_Byte( SciaRegs.SCIRBUF.bit.RDT );PieCtrlRegs.PIEACK.all=PIEACK_GROUP9;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号