sci.c

来自「2407DSP开发应用程序实例(有14个常用模块程序)」· C语言 代码 · 共 92 行

C
92
字号
#include "REGISTER.H"
int x,y,k=0,key; 
void inline disable()
{
	asm("	setc INTM");
	asm("	setc SXM");
}
//
void inline enable()
{
	asm("	clrc INTM");
} 
//
void	initial()
{
	PBDATDIR=PBDATDIR|0x0FF00;		// IOPB端口设置为输出方式
   	PBDATDIR=(PBDATDIR&0XFF00)|0x0055;	//LED的值
	PADATDIR=PADATDIR&0x0FFEF;	// IOPA4=0
	PADATDIR=PADATDIR|0x1010;		// IOPA4 设置为输出方式,且IOPA4=1
	PADATDIR=PADATDIR&0x0FFEF;	// IOPA4=0 
	
	IFR=0xFFFF;
    SCSR1=0x81FE;//sysclk=40M
	WDCR=0xE8;
	SCICCR=0x7;
	SCICTL1=0x13;
	SCICTL2=0x3;
  	SCIHBAUD=0x02 ;
	SCILBAUD=0x08; //波特率为9600 
    SCICTL1=0x33;
	SCIPRI=0x64;
	MCRA=0x3;
	PADATDIR=0x100;
	MCRB=MCRB&0X0FFFE;
	PCDATDIR=PCDATDIR|0x0101;
	IMR=0x10;
	enable();
//	SCITXBUF=0x55; 
} 

//
main()
{
	disable();
	initial();
	while(1)
	{
       ;
	}
} 

void UartSent()
{    

	SCITXBUF=0x0012;
	IFR=0x0010;
	enable();
	return;

}


//
void UartRec()
{
	PBDATDIR=PBDATDIR|0x0FF00;		// IOPB端口设置为输出方式
   	PBDATDIR=(PBDATDIR&0XFF00)|SCIRXBUF;	//LED的值
	PADATDIR=PADATDIR&0x0FFEF;	// IOPA4=0
	PADATDIR=PADATDIR|0x1010;		// IOPA4 设置为输出方式,且IOPA4=1
	PADATDIR=PADATDIR&0x0FFEF;	// IOPA4=0 
	IFR=0x0010;
	enable();
               	
}

void interrupt uarttr()
{
	switch(PIVR)
	{
	case 6:UartRec();break;
//	case 7:UartSent();break;
	default:break;
	} 
	return;
}

void interrupt nothing()
{
	return;
}

⌨️ 快捷键说明

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