8.1 add1.c

来自「《数字信号处理器原理、结构及应用》所附光盘的资料,关于tms320f2812的一」· C语言 代码 · 共 35 行

C
35
字号
/********************************************************************************
** 功能描述: 串行通信,SCIA将接收到的数据每字节+1后立即回送**
********************************************************************************/
#include "DSP28_Device.h"
Uint16 RecieveChar; 
void Scia_init()
{    
	EALLOW;
 	GpioMuxRegs.GPFMUX.all = 0x0030;	 //  设置F4和F5为通信端口	 
    EDIS;
 	SciaRegs.SCICTL2.all = 0x0000;  	 //  禁止接收和发送中断
 	SciaRegs.SCILBAUD = 0x00E7;       //  波特率=9600
	SciaRegs.SCIHBAUD = 0x0001;  	     
    SciaRegs.SCICCR.all = 0x0007;  	      //  1个停止位,禁止校验,8位字符 
                             		 //  禁止自测试,异步空闲线协议
	SciaRegs.SCICTL1.all = 0x0023;  	 //  脱离复位状态,使能接收发送
}
 
void main(void)
{
	InitSysCtrl();			    //  系统初始化
    DINT;                    	//  禁止和清除所有的CPU中断
	IER = 0x0000;
	IFR = 0x0000;
	Scia_init();          		// SCIA初始化						
	while (1)
    {   		
   		while(SciaRegs.SCIRXST.bit.RXRDY != 1){}    //  XRDY=1表示接收到数据
   		RecieveChar=SciaRegs.SCIRXBUF.all;	
   		SciaRegs.SCITXBUF = RecieveChar+1;         //  接收到的字符(RecieveChar)+1 
   		while(SciaRegs.SCICTL2.bit.TXRDY ==  0){}		
   		while(SciaRegs.SCICTL2.bit.TXEMPTY ==  0){} 
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?