www.pudn.com > 12can.rar > candeal0.h


//////////////candeal0.h///////////////////// 
#include "can.h" 
void transmit (char MsgNum)  
{	uchar num; 
   	SFRPAGE = CAN0_PAGE; 
	CAN0ADR = IF1CMDMSK;           
	CAN0DAT = 0x0087;              
	/*   IF1 Command Mask Registers  =0x0087 
	WR/RD=1,Mask=0,Arb=0,Control=0,ClrIntPnd=0,TxRqst=1,DataA=1,DataB=1,一次发送8字节数据*/ 
	CAN0ADR = IF1DATA1;            
	/*将8字节数据写入IF1*/ 
	for(num=0;num<8;num++){ 
		CAN0DATH=sdata[num]; 
		num++; 
		CAN0DATL=sdata[num]; 
	} 
      	CAN0ADR = IF1CMDRQST;          
	CAN0DATL = MsgNum; //将以上配置写入MsgNum号CAN消息 
} 
void receive_data (uchar MsgNum) 
{ 
   	uchar i; 
   	SFRPAGE = CAN0_PAGE; 
	CAN0ADR = IF2CMDMSK;       	 
	CAN0DATL = 0x0f;           
	/*   IF1 Command Mask Registers  =0xxx0f 
	WR/RD=0,Mask=0,Arb=0,Control=0,ClrIntPnd=1,NewDat=1,DataA=1,DataB=1,一次发送8字节数据*/ 
	CAN0ADR = IF2CMDRQST;      	 
	CAN0DATL = MsgNum; //指向MsgNum号消息      	    
	CAN0ADR = IF2DATA1;     	  
	for(i=0;i<4;i++) 
		rdata[i].tempval=CAN0DAT;//接收数据 
	isnewdata=1; 
 }