sci.c

来自「DSP的实验测试程序」· C语言 代码 · 共 43 行

C
43
字号
#include    "f2407_c.h"
#define BAUD_19200 0x0103 	/*40MHz SYSclock*/
#define BAUD_9600 0x0208	
#define BAUD_4800 0x0411
#define BAUD_2400 0x0822
#define BAUD_1200 0x1046


extern unsigned int test_sci(void); 

void sci_init(void);

void sci_init(void)
{
	*SCSR1=*SCSR1|0x0040;	/*enable SCI clock*/
	/**MCRA=0x0003;	/*enable TXD and RXD*/
	*SCICCR=0x0007;
	*SCICTL1=0x0013;
	*SCICTL2=0x0003;
	*SCIHBAUD=(BAUD_9600/0x100);
	*SCILBAUD=(BAUD_9600%0x100);
	*SCICTL1=0x0033;
}


unsigned int test_sci(void)
{
	unsigned int data_to_send,data_received; 
	*PCDATDIR|=0x0100;
	*PCDATDIR&=0xfffe;
	sci_init();
	data_to_send=0x005a;
	
    
	while(*SCICTL2&0x0080==0);
	*SCITXBUF=data_to_send;
	
	/*while(*IFR!=0x0010|*PIVR!=0x0006);*/
	while((*SCIRXST&0x0040)==0x0000);
	data_received= *SCIRXBUF;
	if(data_received!=0x005a)return(0);
	return(1);
}

⌨️ 快捷键说明

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