实验五TMS320F28335 串口通信实验_第1页
实验五TMS320F28335 串口通信实验_第2页
实验五TMS320F28335 串口通信实验_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

3、进行软件复位,否则同组内的其他中断都不会被响应。2、 了解SCI功能应参考MS320x2833x, 2823x Serial Communications Interface (SCI)3、 串口端口IO设置成 内部上拉、Rx端还应设为异步输入;具体SCI部分程序如下:/* * = sci_uart = * * * Created on: 2017年9月19日 * Author: liu */#include "DSP2833x_Device.h" / DSP2833x Headerfile Include File#include "DSP2833x_Examp

4、les.h" / DSP2833x Examples Include File#include "sci_uart.h"_interrupt void sciaRxIsr(void);/* * = sci_uart_init = */void SCIA_uart_init(void)/GPIO35、36复用功能选择EALLOW;GpioCtrlRegs.GPBMUX1.bit.GPIO35 = 1 ; /SCIA_TXDAGpioCtrlRegs.GPBMUX1.bit.GPIO36 = 1 ; /SCIA_RXDAGpioCtrlRegs.GPBPUD.bit.

5、GPIO35 = 0; / Enable pull-up for GPIO29 (SCITXDA)GpioCtrlRegs.GPBPUD.bit.GPIO36 = 0; / Enable pull-up for GPIO28 (SCIRXDA)/定义管脚为异步输入  GpioCtrlRegs.GPBDIR.bit.GPIO36 = 0 ;/输入GpioCtrlRegs.GPBQSEL1.bit.GPIO36 = 3;/异步输入EDIS;/基本通信参数设置 / Note: Clocks were turned on to the SCIA peripheral / in th

6、e InitSysCtrl() function SciaRegs.SCICCR.all =0x0007; / 1 stop bit, No loopback / No parity,8 char bits, / async mode, idle-line protocolSciaRegs.SCICTL1.all =0x0003; / enable TX, RX, internal SCICLK, / Disable RX ERR, SLEEP, TXWAKESciaRegs.SCICTL2.all =0x0003;SciaRegs.SCICTL2.bit.TXINTENA =0; /查询发送

7、SciaRegs.SCICTL2.bit.RXBKINTENA =1;/中断接收 SciaRegs.SCIHBAUD =488>>8;/ 9600 135MHzLSPCLK = 33.75MHz /(9600*8)-1=4394 150MHzLSPCLK = 37.5MHz /(9600*8)-1=488 SciaRegs.SCILBAUD =488;SciaRegs.SCICTL1.all =0x0023; / Relinquish SCI from Reset/ Initialize the SCI FIFO 禁止FIFO功能 SciaRegs.SCIFFTX.bit.SCIF

8、FENA = 0 ; /禁止SCI FIFO功能 EALLOW;/ This is needed to write to EALLOW protected registers   PieVectTable.SCIRXINTA = &sciaRxIsr; EDIS;/ This is needed to disable write to EALLOW protected registersPieCtrlRegs.PIEIER9.bit.INTx1=1;/ PIE Group 9, int1  IER |= M_INT9;/ Enable CPU INT  EINT;void SCIA_UART_Send_Byte( unsigned char Dat)while(SciaRegs.SCICTL2.bit.TXRDY !=1);/等待SCIRXBUF准备好才写入下一个所要发送的数据SciaRegs.SCITXBUF = Dat;/SCIA串口中断接收处理函数_interrupt void s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论