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

📄 can.c

📁 dsp320lf2407上的相关程序文件
💻 C
字号:
#include    "f2407_c.h" 


#define LED port40                           
volatile ioport unsigned int port40;/*LED*/ 


unsigned int test_can(void);

void can_init(void)
{
	 *CAN_IFR=0xffff;
	  
	  
	   /*config CAN timer*/ 
	 *MCR=0x1000;   				/*set CCR=1*/
	 while(((*GSR)&0x0010)!=0x0010); 	/*if CCE=0 then wait*/
	 *BCR1=0x0023/*0x01ab*/;
	 *BCR2=0x0003;		/*can clk=1Mhz, 10 TQs*/ 
	 *MCR=(*MCR)&0xefff;          /*CCR=0;*/
	 while(((*GSR)&0x0010)==0x0010);  /*if CCE=1 then wait*/  
	 
	 
	 /*config mailbox*/
	 *MDER=0xff80;			/*box0-5 disabled*/ 
	 						/*box3 is receive box*/
	 
	 *MCR=(*MCR)|0x0100;		/*set CDR=1*/ 
	                            /*0x0140 self-test mode*/
	 
	  /*config mailbox4(send box)*/
	 *MSGID4H=0x0555;
	 *MSGID4L=0xaaaa;		/*mailbox4 send*/
	 *MSGCTRL4=0x0008;		/*1 byte data */
	 *MBX4A=0x7777;
	 *MBX4B=0x7777;
	 *MBX4C=0x7777;
	 *MBX4D=0x7777; 
	 
	 	 
	 	 
	 *MSGID0H=0x4555;		/*mailbox0 receive*/
	 *MSGID0L=0xaaaa;		
	 *MSGCTRL0=0x0008; 
	 *MBX0A=0xffff;
	 *MBX0B=0xffff;
	 *MBX0C=0xffff;
	 *MBX0D=0xffff; 
	 
	 
	 
	 *LAM0_H=0x7fff;
	 *LAM0_L=0xffff;
	 *LAM1_H=0x7fff;
	 *LAM1_L=0xffff;
	 *MCR=(*MCR)&0xfeff;  	/*CDR=0;*/
	 
	 
} 
	                        	
	 
	 
unsigned int test_can(void)
{
	 unsigned int data_rec1,data_rec2,data_rec3,data_rec4;
	 can_init();
	
	 *MDER=(*MDER)|0x0001;		/*enable mailbox0*/
	  
	
	 *TCR=(*TCR)|0x0040;			/*TRS4=1*/ 
	

	
	
	 
	 /*send data frame*/
	 while(((*TCR)&0x4000)!=0x4000);  	/*if TA4=0 then wait*/
	 *TCR=(*TCR)|0x4000;					/*set TA4=1*/ 
	 
	 
	 /*wait to receive*/
	 while(((*RCR)&0x0010)!=0x0010);		/*if RMP0=0 then wait*/
	 *RCR=(*RCR)|0x0010;		/*RMP0=1*/ 
	 
	 	 	 
	 data_rec1=*MBX0A;
	 data_rec2=*MBX0B;
	 data_rec3=*MBX0C;
	 data_rec4=*MBX0D;
	 
	 if(data_rec1!=0x2222)return(0);
	 if(data_rec2!=0x5555)return(0);
	 if(data_rec3!=0xaaaa)return(0);
	 if(data_rec4!=0xeeee)return(0);
	 return(1);
}
	 
	 
	 	
	 	
		 
	 
	 
	 
	 
	
	 
	 
	 
	 
	 
	 
	 

                                   


⌨️ 快捷键说明

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