【DSP学习】【SCI模块配置-FIFO功能】【28377S】

本文介绍了如何初始化SCI接口,包括配置GPIO引脚、设置波特率、启用接收和发送功能,以及测试SCI的FIFO功能,通过定时器中断每31.25ms检查接收缓冲区。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,初始化SCI

void init_SCIA(){

//	Setup Pin Options
   GPIO_SetupPinMux(8, GPIO_MUX_CPU1, 6);
   GPIO_SetupPinOptions(8, GPIO_INPUT, GPIO_PUSHPULL);
   GPIO_SetupPinMux(9, GPIO_MUX_CPU1, 6);
   GPIO_SetupPinOptions(9, GPIO_OUTPUT, GPIO_ASYNC);


   // Setup SCIA  Baud
   // @LSPCLK = 50 MHz (200 MHz SYSCLK)
   //[HBAUD高位波特率设置寄存器]+[LBAUD低位]=[LSPCLK低速外设时钟]/[BAUD波特率]/8

//	    SciaRegs.SCIHBAUD.all = 0x0002;
//	    SciaRegs.SCILBAUD.all = 0x008B;//b=9600

//	    SciaRegs.SCIHBAUD.all = 0x01;
//	    SciaRegs.SCILBAUD.all = 0x45;//波特率19200

//	    SciaRegs.SCIHBAUD.all = 0x00;
//	    SciaRegs.SCILBAUD.all = 0xA3;//波特率38400

//   Setup SCIA_REGS
   SciaRegs.SCIHBAUD.all = 0x00;
   SciaRegs.SCILBAUD.all = 0x36;//b=115200

   SciaRegs.SCICCR.bit.SCICHAR=7;//8位数据位

   SciaRegs.SCICTL1.bit.RXENA=1;//接收使能
   SciaRegs.SCICTL1.bit.TXENA=1;//发送使能
   SciaRegs.SCICTL1.bit.SWRESET=1;//重启

   SciaRegs.SCIFFTX.bit.SCIFFENA=1;//FIFO功能使能

}

 

 

2,SCI寄存器定义

b2a203552b204509a93748985df61c41.png

9ca4d21f63c948b6bfe2cc248b4f3212.png

2afb70834d154ac49d7bb424c6b5b717.png

8dd50e9b0cc944659a277a230b2cbeeb.png

e9072f926fff47c5a113148766fbf9cf.png

3,测试SciFifo功能

//该段代码放置在定时器中断,每31.25ms执行一次
//PC使用串口调试工具,硬件连接好PC与dsp
//如pc无发送,则会接收到0XAB
//如PC发送,DSP会返回0XAB+DSP发送内容
//PC一次性最多发16*2个字节,超过时,dsp只能接收到最后发的16*2个字节

		SciaRegs.SCITXBUF.all=0xAB;
//		SciaRegs.SCITXBUF.all=0xCD;

		for(i=1;1<20;i++)
		{
			if(SciaRegs.SCIFFRX.bit.RXFFST>=1)
			{
				SciaRegs.SCITXBUF.all=SciaRegs.SCIRXBUF.all;
			}
			else{
				break;
			}
		}

//end
//该段代码放置在定时器中断,每31.25ms执行一次
//PC使用串口调试工具,硬件连接好PC与dsp
//如pc无发送,则会接收到0XAB
//如PC发送,DSP会返回0XAB+DSP发送内容
//PC一次性最多发16*2个字节,超过时,dsp只能接收到最后发的16*2个字节

 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值