www.pudn.com > 12can.rar > remote_can_r.c


/////////远程帧控制接收程序///////////////////// 
//////////remote_can_r.c/////////////////////// 
#include "candeal2.h" 
#define LEN 8 
#define MSGNUMA 2 
#define MSGNUMB 5 
#define NUMAPEND 0x0002 
#define NUMBPEND 0x0010 
xdata uchar rr1[LEN]; 
xdata uchar rr2[LEN]; 
xdata uchar ss1[LEN]={0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8}; 
xdata uchar ss2[LEN]={0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8}; 
bit isupB; 
xdata uchar countA; 
void canini(){ 
	clear_msg_objects(); 
	remote_rqst_ini(MSGNUMA,2); 
	remote_send_ini(MSGNUMB,4); 
	EIE2 |= 0x20; 
	EA = 1; 
	SFRPAGE = CAN0_PAGE; 
	CAN0CN=0X41; 
	CAN0ADR=BITREG; 
	CAN0DAT=0X34c0;//调波特率 
	start_CAN(); 
} 
void config(){ 
//看门狗禁止 
	WDTCN = 0x07;	 
    WDTCN = 0xDE;    
   	WDTCN = 0xAD; 
	SFRPAGE = 0x0F; 
//交叉开关使能,但没有进行外围设备配置 
	XBR0 = 0x00;	 
	XBR1 = 0x00;	 
	XBR2 = 0x40; 
 	XBR3 = 0x00;    
//管脚输出配置,P0口为开漏输出,其中P0.6接上拉电阻,P0为数字输入口 
 	SFRPAGE = 0x0F; 
 	P0MDOUT = 0x00;  
 	P1MDIN = 0xFF;   
//晶振配置,采用内部晶振8分频 
	SFRPAGE = 0x0F; 
 	CLKSEL = 0x00;   
	OSCXCN = 0x00;	 
	OSCICN = 0x84;	 
} 
main(){ 
	uchar i; 
	config(); 
	for(i=0;i