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

📄 can.h

📁 客车车身控制模块 分为仪表部分 前控左 前控右 尾控和中控程序模块
💻 H
📖 第 1 页 / 共 2 页
字号:
			CAN_QKYC3.Byte=RBDSR3;
			//D0D1		D2D3		D4D5		D6D7
			//雨刮到位	电/气喇叭转换ABS工作状态NC
			CAN_QKYC4.Byte=RBDSR4;
			//D0D1				  D2D3			D4D5		   D6D7
			//缓速器工作信号输入  ASR指示灯输入	ABS指示灯输入  NC
			CAN_QKYC5.Byte=RBDSR5;
			//D0D1		D2D3		D4D5		D6D7
			//NC		NC			NC			NC
			CAN_QKYC6.Byte=RBDSR6;
			//D0D1		D2D3		D4D5		D6D7
			//NC		NC			NC			NC
			CAN_QKYC7.Byte=RBDSR7;
			//D0D1		D2D3		D4D5		D6D7
			//NC		NC			NC			NC
			
			//执行相关位判断
			//围门开关
		  if(CAN_QKYC1.Bit.BIT0==1&&CAN_QKYC1.Bit.BIT1==0)			//开门
		  {
		  	CAN_YB3.Bit.BIT6=1;
		  	CAN_YB3.Bit.BIT7=0;
		  	door1_flag=1;
		  	door_wakeup_flag=1;
		  	CAN_JLY1.Bit.BIT0=1;
		  	CAN_JLY1.Bit.BIT1=0;
	  	}
	  	else if(CAN_QKYC1.Bit.BIT2==1&&CAN_QKYC1.Bit.BIT3==0)		//关门
	  	{
	  		CAN_YB3.Bit.BIT6=0;
	  		CAN_YB3.Bit.BIT7=1;
	  		door1_flag=0;
	  		door_wakeup_flag=1;
	  	  CAN_JLY1.Bit.BIT0=0;
	  		CAN_JLY1.Bit.BIT1=1;
	  	}
	  	
	  	if((door_status.Bit.BIT0==0&&door_status.Bit.BIT1==0)&&(CAN_QKYC0.Bit.BIT0==1||CAN_QKYC0.Bit.BIT1==1))
		  {
		  	door_status.Bit.BIT0=CAN_QKYC0.Bit.BIT0;
		  	door_status.Bit.BIT1=CAN_QKYC0.Bit.BIT1;
  		}     
  		//前门开关-开
  		else if(CAN_QKYC0.Bit.BIT0==1&&CAN_QKYC0.Bit.BIT1==0&&door_status.Bit.BIT0==0&&door_status.Bit.BIT1==1)
  		{
  			door_status.Bit.BIT0=CAN_QKYC0.Bit.BIT0;
  			door_status.Bit.BIT1=CAN_QKYC0.Bit.BIT1;
	  		CAN_YB3.Bit.BIT6=1;
	  		CAN_YB3.Bit.BIT7=0;
	  		door1_flag=1;
	  		door_wakeup_flag=1;
	  		CAN_JLY1.Bit.BIT0=1;
	  		CAN_JLY1.Bit.BIT1=0;
	  	}
		  //前门开关-关
  		else if(CAN_QKYC0.Bit.BIT0==0&&CAN_QKYC0.Bit.BIT1==1&&door_status.Bit.BIT0==1&&door_status.Bit.BIT1==0)
  		{
  			door_status.Bit.BIT0=CAN_QKYC0.Bit.BIT0;
	  		door_status.Bit.BIT1=CAN_QKYC0.Bit.BIT1;
  			CAN_YB3.Bit.BIT6=0;
  			CAN_YB3.Bit.BIT7=1;
  			door1_flag=0;
  			door_wakeup_flag=1;
  			CAN_JLY1.Bit.BIT0=0;
	  		CAN_JLY1.Bit.BIT1=1;
	   	}
	   	//前门状态信息
	   	
		  if((door_status.Bit.BIT2==0&&door_status.Bit.BIT3==0)&&(CAN_QKYC0.Bit.BIT4==1||CAN_QKYC0.Bit.BIT5==1))
	  	{
	  		door_status.Bit.BIT2=CAN_QKYC0.Bit.BIT4;
	  		door_status.Bit.BIT3=CAN_QKYC0.Bit.BIT5;
	  	}
	   	//后门开关-开
	  	else if(CAN_QKYC0.Bit.BIT4==1&&CAN_QKYC0.Bit.BIT5==0&&door_status.Bit.BIT2==0&&door_status.Bit.BIT3==1)
	  	{
	  		door_status.Bit.BIT2=CAN_QKYC0.Bit.BIT4;
	  		door_status.Bit.BIT3=CAN_QKYC0.Bit.BIT5;
	  		door2_flag=1;
	  		door_wakeup_flag=1;
	  		CAN_YB4.Bit.BIT0=1;
	  		CAN_YB4.Bit.BIT1=0;
	  	}
	  	//后门开关-关
	  	else if(CAN_QKYC0.Bit.BIT4==0&&CAN_QKYC0.Bit.BIT5==1&&door_status.Bit.BIT2==1&&door_status.Bit.BIT3==0)
	  	{
	  		door_status.Bit.BIT2=CAN_QKYC0.Bit.BIT4;
	  		door_status.Bit.BIT3=CAN_QKYC0.Bit.BIT5;
	  		door2_flag=0;
	  		door_wakeup_flag=1;
	  		CAN_YB4.Bit.BIT0=0;
	  		CAN_YB4.Bit.BIT1=1;
	  	}
	  	/////
		}
		
		//前控右状态ID18ff182b(c7fe2856)
		else if(can_rec_id2==0x28 && can_rec_id3==0x56){
			
			CAN_QKYS0.Byte=RBDSR0;
			//D0D1		D2D3				D4D5		D6D7
			//右前小灯	缓速器控制电源输出	右近光灯	前右转向灯
			CAN_QKYS1.Byte=RBDSR1;
			//D0D1		D2D3		D4D5		D6D7
			//右远光灯	洗涤电机	右前雾灯	右镜加热器
			CAN_QKYS2.Byte=RBDSR2;
			//D0D1			D2D3			D4D5		D6D7
			//监视器电源	ABS ON档电源	雨刮高速	雨刮低速
			CAN_QKYS3.Byte=RBDSR3;
			//D0D1			D2D3			D4D5			D6D7
			//前门电磁阀开	前门电磁阀关	除霜电机高速	除霜电机低速
			CAN_QKYS4.Byte=RBDSR4;
			//D0D1		D2D3			D4D5			D6D7
			//音响电源	行驶记录仪电源	右后视镜电机	NC
			CAN_QKYS5.Byte=RBDSR5;
			//D0D1		D2D3		D4D5		D6D7
			//NC		NC			NC			NC
			CAN_QKYS6.Byte=RBDSR6;
			//D0D1		D2D3		D4D5		D6D7
			//NC		NC			NC			NC
			CAN_QKYS7.Byte=RBDSR7;
			//D0D1		D2D3		D4D5		D6D7
			//NC		NC			NC			NC
			
			//执行相关位判断
			
		}
		
		//中控命令ID18ff0f8a(c7fe1f14)
		else if(can_rec_id2==0x1f && can_rec_id3==0x14){
			
			CAN_ZKC0.Byte=RBDSR0;
			//D0D1			D2D3			D4D5			D6D7
			//后门防夹开关	后踏步灯开关	卫生间有人开关	手制动开关
			CAN_ZKC1.Byte=RBDSR1;
			//D0D1				D2D3			D4D5			D6D7
			//左行李仓灯1开关	左行李仓灯2开关	左行李仓灯3开关	左行李仓灯4开关
			CAN_ZKC2.Byte=RBDSR2;
			//D0D1				D2D3			D4D5			D6D7
			//右行李仓灯1开关	右行李仓灯2开关	右行李仓灯3开关	右行李仓灯4开关
			CAN_ZKC3.Byte=RBDSR3;
			//D0D1		D2D3		D4D5		D6D7
			//刹车开关	NC			NC			NC
			CAN_ZKC4.Byte=RBDSR4;
			//D0D1		D2D3		D4D5		D6D7
			//0~7气压1
			CAN_ZKC5.Byte=RBDSR5;
			//D0D1		D2D3		D4D5		D6D7
			//0~7气压2
			CAN_ZKC6.Byte=RBDSR6;
			//D0D1		D2D3		D4D5		D6D7
			//0~7燃油
			CAN_ZKC7.Byte=RBDSR7;
			//D0D1			D2D3		D4D5		D6D7
			//润滑压力开关	低气压开关1	低气压开关2	燃油低开关
			
			//执行相关位判断
			if(CAN_ZKC0.Bit.BIT0==1&&CAN_ZKC0.Bit.BIT1==0)    door2_flag=1;
			//else                                              door2_flag=0;
		/////			
		}
		
		//中控状态ID18ff102b(c7fe2056)
		else if(can_rec_id2==0x20 && can_rec_id3==0x56){
			
			CAN_ZKS0.Byte=RBDSR0;
			//D0D1			D2D3		D4D5		D6D7
			//侧左转向灯1	侧左转向灯2	侧右转向灯1	侧右转向灯2
			CAN_ZKS1.Byte=RBDSR1;
			//D0D1		D2D3		D4D5		D6D7
			//左标志灯1	左标志灯2	左标志灯3	右标志灯1
			CAN_ZKS2.Byte=RBDSR2;
			//D0D1		D2D3		D4D5		D6D7
			//右标志灯2	右标志灯3	左轮边灯	右轮边灯
			CAN_ZKS3.Byte=RBDSR3;
			//D0D1			D2D3		D4D5		D6D7
			//左行李仓灯1	左行李仓灯2	左行李仓灯3	左行李仓灯4
			CAN_ZKS4.Byte=RBDSR4;
			//D0D1			D2D3		D4D5		D6D7
			//右行李仓灯1	右行李仓灯2	右行李仓灯3	右行李仓灯4
			CAN_ZKS5.Byte=RBDSR5;
			//D0D1			D2D3			D4D5		D6D7
			//前门底踏步灯	中门底踏步灯	屈膝电磁阀1	屈膝电磁阀2
			CAN_ZKS6.Byte=RBDSR6;
			//D0D1		D2D3		D4D5			D6D7
			//气喇叭	电喇叭		后门电磁阀开	后门电磁阀关
			CAN_ZKS7.Byte=RBDSR7;
			//D0D1			D2D3		D4D5		D6D7
			//卫生间电源	NC			NC			NC
			
			//执行相关位判断
			
		}
		
		//尾控命令ID18ff0c89(c7fe1912)
		else if(can_rec_id2==0x19 && can_rec_id3==0x12){
			
			CAN_WKC0.Byte=RBDSR0;
			//D0D1			D2D3			D4D5			D6D7
			//润滑压力开关	机油压力开关	机油旁通开关	过热开关
			CAN_WKC1.Byte=RBDSR1;
			//D0D1				D2D3		D4D5		D6D7
			//空滤器堵塞开关	水位传感器	NC			NC
			CAN_WKC2.Byte=RBDSR2;
			//D0D1			D2D3			D4D5		D6D7
			//后启动开关	发动机仓灯开关	倒车开关	空档开关
			CAN_WKC3.Byte=RBDSR3;
			//D0D1		D2D3		D4D5		D6D7
			//安全开关	油门开关	充电信号	NC
			CAN_WKC4.Byte=RBDSR4;
			//D0D1		D2D3		D4D5		D6D7
			//0~7机油压力
			CAN_WKC5.Byte=RBDSR5;
			//D0D1		D2D3		D4D5		D6D7
			//0~7水温
			CAN_WKC6.Byte=RBDSR6;
			//D0D1		D2D3		D4D5		D6D7
			//0~7预热温度
			CAN_WKC7.Byte=RBDSR7;
			//D0D1		D2D3		D4D5		D6D7
			//NC		NC			NC			NC
			
			//执行相关位判断
		/////
			
		}
		
		//尾控状态ID18ff0d2b(c7fe1a56)
		else if(can_rec_id2==0x1a && can_rec_id3==0x56){
			
			CAN_WKS0.Byte=RBDSR0;
			//D0D1				D2D3		D4D5		D6D7
			//排气制动电磁阀	发动机仓灯	左倒车灯	右倒车灯
			CAN_WKS1.Byte=RBDSR1;
			//D0D1		D2D3		D4D5		D6D7
			//左后雾灯	右后雾灯	电磁开关	预热继电器
			CAN_WKS2.Byte=RBDSR2;
			//D0D1		D2D3		D4D5		D6D7
			//左后小灯	右后小灯	启动继电器	自动润滑电机
			CAN_WKS3.Byte=RBDSR3;
			//D0D1		D2D3			D4D5		D6D7
			//牌照灯组	空调电容箱电源	左标志灯4	左标志灯5
			CAN_WKS4.Byte=RBDSR4;
			//D0D1		D2D3		D4D5		D6D7
			//右标志灯4	右标志灯5	左刹车灯	右刹车灯
			CAN_WKS5.Byte=RBDSR5;
			//D0D1			D2D3		D4D5			D6D7
			//后左转向灯	后右转向灯	车速传感器电源	NC
			CAN_WKS6.Byte=RBDSR6;
			//D0D1		D2D3		D4D5		D6D7
			//NC		NC			NC			NC
			CAN_WKS7.Byte=RBDSR7;
			//D0D1		D2D3		D4D5		D6D7
			//NC		NC			NC			NC
			
			//执行相关位判断
			
		}
		
		//尾控数据ID18ff1a89(c7fe13512)
		else if(can_rec_id2==0x35 && can_rec_id3==0x12){
			
			CAN_WKD0.Byte=RBDSR0;
			//D0D1		D2D3		D4D5		D6D7
			//0~7转速高位
			CAN_WKD1.Byte=RBDSR1;
			//D0D1		D2D3		D4D5		D6D7
			//0~7转速低位
			CAN_WKD2.Byte=RBDSR2;
			//D0D1		D2D3		D4D5		D6D7
			//0~7车速
			CAN_WKD3.Byte=RBDSR3;
			//D0D1		D2D3		D4D5		D6D7
			//0~7里程小计高位
			CAN_WKD4.Byte=RBDSR4;
			//D0D1		D2D3		D4D5		D6D7
			//0~7里程小计中位
			CAN_WKD5.Byte=RBDSR5;
			//D0D1		D2D3		D4D5		D6D7
			//0~7里程小计低位
			CAN_WKD6.Byte=RBDSR6;
			//D0D1		D2D3		D4D5		D6D7
			//NC		NC			NC			NC
			CAN_WKD7.Byte=RBDSR7;
			//D0D1		D2D3		D4D5		D6D7
			//NC		NC			NC			NC
			
			//执行相关位判断
			/*if(comp_motor_flag){  
			  yb_step_first();
			  cs_step_count(); 
		    zs_step_count();
			}*/
		  licheng_temp0=CAN_WKD3.Byte;
		  licheng_temp1=CAN_WKD4.Byte;
		  licheng_temp2=CAN_WKD5.Byte;
			
	    licheng=licheng_temp0;
	    licheng=licheng<<8;
	    licheng+=licheng_temp1;
	    licheng=licheng<<8;
	    licheng+=licheng_temp2;
  	}
		//行使记录仪
		else if(can_rec_id2==0x31 && can_rec_id3==0x16){
		  jly_ture_flag=1;
		}
		else{//出错返回
			canid_error=1;
		}
	}
	//
	else{
	  canid_error=1;
	  if(can_rec_id2==0xff && can_rec_id3==0xff && can_rec_id0==0xc7 && can_rec_id1==0xff)
		  init_at24_flag=1;//at24_init();
		else init_at24_flag=0;
		//远程帧ID18ffff
	}
	CRFLG=0x01;		//清接受缓冲器满标志
	//数据后续处理
}

⌨️ 快捷键说明

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