8.2 selftr.c

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

C
40
字号
/*****************************************************************
**功能描述: 串行通信自测试程序**
*****************************************************************/
#include "DSP28_Device.h"
Uint16 ReceivedChar;
Uint16 SendChar;
Uint16 RecieveChar;

void Scib_init()
{
    EALLOW;
    GpioMuxRegs.GPGMUX.all = 0x0030;	 //  设置G4和G5为通信端口	
    EDIS;
 	ScibRegs.SCICCR.all =0x0007;  	//  1个停止位,禁止自测试,禁止奇偶 
                                     //  校验,8位字符,异步空闲线协议
   	ScibRegs.SCICTL1.all=0x0003;     //  使能接收和发送
	ScibRegs.SCICTL2.all=0x0000;     //  禁止接收和发送中断
	ScibRegs.SCIHBAUD=0x0001;     //  波特率=9600
    ScibRegs.SCILBAUD=0x00E7;
    ScibRegs.SCICTL1.all=0x0023;     //  使SCI脱离复位状态
    ScibRegs.SCIPRI.all=0x0000;
    ScibRegs.SCICCR.bit.LOOPBKENA=1;  	 //  使能自测试
}

void main(void)
{
	InitSysCtrl();		 	 //  系统初始化
    DINT;				      //  禁止和清除所有的CPU中断
	IER = 0x0000;
	IFR = 0x0000;
	Scib_init();  			 // Scib初始化
   	SendChar=0xaa;								
	for(;;)
    { 
      	ScibRegs.SCITXBUF=SendChar;
       	while(ScibRegs.SCIRXST.bit.RXRDY !=1) { }   //  RXRDY =1 表示接收到数据
   		RecieveChar=ScibRegs.SCIRXBUF.all;
    }
}  

⌨️ 快捷键说明

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