2808sci1.0.c

来自「2808程序」· C语言 代码 · 共 32 行

C
32
字号
#include "DSP280x_Device.h"
Uint16 RecieveChar; 
void Scia_init()
{    
	EALLOW;
 	GpioCtrlRegs.GPAMUX2.bit.GPIO28 = 0x01; //  设置GPIO28为通信端口
	GpioCtrlRegs.GPAMUX2.bit.GPIO29 = 0x01; //  设置GPIO29为通信端口	 
     EDIS;
 	SciaRegs.SCICTL2.all = 0x0f;  	          //  禁止接收和发送中断
 	SciaRegs.SCILBAUD = 0x45;              //  波特率=9600
	SciaRegs.SCIHBAUD = 0x01;  	     
    SciaRegs.SCICCR.all = 0x07;               // 1个停止位,禁止校验,禁止自测试模式,异步空闲线协议,8位字符 
	SciaRegs.SCICTL1.all = 0x23;  	           //  脱离复位状态,使能接收发送
}
 
void main(void)
{
	InitSysCtrl();			                //  系统初始化
    DINT;                    	           //  禁止和清除所有的CPU中断
	IER = 0x0000;
	IFR = 0x0000;
	Scia_init();          		           // SCIB初始化						
	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 + -
显示快捷键?