⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sci.c

📁 2407DSP开发应用程序实例(有14个常用模块程序)
💻 C
字号:
#include "REGISTER.H"
int x,y,k=0; 
//static int receive[4],j=0; 
int	 receive[4],j=0;
const int var[4]={0x12,0x23,0x34,0x45}; 
//int var=0x0012;
void inline disable()
{
	asm("	setc INTM");
	asm("	setc SXM");
}

void inline enable()
{
	asm("	clrc INTM");
}

main()
{
	MCRA=MCRA&0x00EF;			    // IOPA4,IOPA6,IOPB端口配置为一般的I/O功能,
                                    // TMS320LF240x的端口均为8位,MCRA为16位
                                    // 因此控制了IOPA和IOPB的设置

	PBDATDIR=0x0FF55;		        // IOPB端口设置为输出方式
	PADATDIR=PADATDIR&0x0FFEF;	    // IOPA4=0
	PADATDIR=PADATDIR|0x1010;		// IOPA4 设置为输出方式,且IOPA4=1
	PADATDIR=PADATDIR&0x0FFEF;	    // IOPA4=0  

	disable();
	IFR=0xFFFF;
    SCSR1=0x81FE;                   //sysclk=24M
//	SCSR1=0x81FE;
	WDCR=0xE8;
	SCICCR=0x7;
	SCICTL1=0x13;
	SCICTL2=0x3;
//	SCIHBAUD=0x01 ;
//	SCILBAUD=0x38; //波特率为9600 
  	SCIHBAUD=0x02 ;
	SCILBAUD=0x08; //波特率为9600 

	SCICTL1=0x33;
	SCIPRI=0x60;
	MCRA=0x3;
	PADATDIR=0x100;
	IMR=0x10;
	enable();
	SCITXBUF=0x55;       	
	while(1)
	;
}

void UartSent()
{    
	static int i=0,m;	  
	if(i>3)
	return;    
	SCITXBUF=var[i++]; 
	/*SCITXBUF=var; */  
	IFR=0x0010;
	enable();
	return;

}

void UartRec()
{
	receive[j++]=SCIRXBUF;
	if(j>4)
	j=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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -