📄 sub_mc33984.h
字号:
{
//发动机充电信号VL
if(CAN_WKC3.Bit.BIT4==1&&CAN_WKC3.Bit.BIT5==0)
{
if(MC33984_fault2.Bit.BIT6) MC33984_OUT[7].Bit.BIT0=0; //无故障开 空调控制电源
else MC33984_OUT[7].Bit.BIT0=1;
}
else MC33984_OUT[7].Bit.BIT0=0;
}
//////////////////////////////////////////////////////////////
//定义: void FAULT_OFF(void) //
//描述: 五秒后自动清除MC33984故障 //
//////////////////////////////////////////////////////////////
void FAULT_OFF(void)
{
if(MC33984_fault1.Bit.BIT0) MC33984_OUT[0].Bit.BIT0=0;
if(MC33984_fault1.Bit.BIT1) MC33984_OUT[0].Bit.BIT2=0;
if(MC33984_fault1.Bit.BIT2) MC33984_OUT[1].Bit.BIT0=0;
if(MC33984_fault1.Bit.BIT3) MC33984_OUT[1].Bit.BIT2=0;
if(MC33984_fault1.Bit.BIT4) MC33984_OUT[2].Bit.BIT0=0;
if(MC33984_fault1.Bit.BIT5) MC33984_OUT[2].Bit.BIT2=0;
if(MC33984_fault1.Bit.BIT6) MC33984_OUT[3].Bit.BIT0=0;
if(MC33984_fault1.Bit.BIT7) MC33984_OUT[3].Bit.BIT2=0;
if(MC33984_fault2.Bit.BIT0) MC33984_OUT[4].Bit.BIT0=0;
if(MC33984_fault2.Bit.BIT1) MC33984_OUT[4].Bit.BIT2=0;
if(MC33984_fault2.Bit.BIT2) MC33984_OUT[5].Bit.BIT0=0;
if(MC33984_fault2.Bit.BIT3) MC33984_OUT[5].Bit.BIT2=0;
if(MC33984_fault2.Bit.BIT4) MC33984_OUT[6].Bit.BIT0=0;
if(MC33984_fault2.Bit.BIT5) MC33984_OUT[6].Bit.BIT2=0;
if(MC33984_fault2.Bit.BIT6) MC33984_OUT[7].Bit.BIT0=0;
if(MC33984_fault2.Bit.BIT7) MC33984_OUT[7].Bit.BIT2=0;
if(MC33984_fault3.Bit.BIT0) MC33984_OUT[8].Bit.BIT0=0;
if(MC33984_fault3.Bit.BIT1) MC33984_OUT[8].Bit.BIT2=0;
if(MC33984_fault3.Bit.BIT2) MC33984_OUT[9].Bit.BIT0=0;
if(MC33984_fault3.Bit.BIT3) MC33984_OUT[9].Bit.BIT2=0;
if(MC33984_fault3.Bit.BIT4) MC33984_OUT[13].Bit.BIT0=0;
if(MC33984_fault3.Bit.BIT5) MC33984_OUT[13].Bit.BIT2=0;
if(MC33984_fault3.Bit.BIT6) MC33984_OUT[11].Bit.BIT0=0;
if(MC33984_fault3.Bit.BIT7) MC33984_OUT[11].Bit.BIT2=0;
if(MC33984_fault4.Bit.BIT0) MC33984_OUT[12].Bit.BIT0=0;
if(MC33984_fault4.Bit.BIT1) MC33984_OUT[12].Bit.BIT2=0;
if(MC33984_fault4.Bit.BIT2) MC33984_OUT[14].Bit.BIT0=0;
}
//////////////////////////////////////////////////////////////
//定义: (void)FAULT_CLR(void) //
//描述: 五秒后自动清除MC33984故障 //
//////////////////////////////////////////////////////////////
void FAULT_CLR(void)
{
if(fault_clk)
{
fault_clk=0;
//MC33984_fault1
if(MC33984_fault1.Byte!=0x00)
{
if(MC33984_fault1.Bit.BIT0) //左前小灯
{
fault1_count[0]++;
if(fault1_count[0]==10)
{
fault1_count[0]=0;
CAN_STR0.Bit.BIT0=0;
CAN_STR0.Bit.BIT1=0;
MC33984_fault1.Bit.BIT0=0;
}
}
if(MC33984_fault1.Bit.BIT1) //示廓灯组
{
fault1_count[1]++;
if(fault1_count[1]==10)
{
fault1_count[1]=0;
CAN_STR0.Bit.BIT2=0;
CAN_STR0.Bit.BIT3=0;
MC33984_fault1.Bit.BIT1=0;
}
}
if(MC33984_fault1.Bit.BIT2) //左近光灯
{
fault1_count[2]++;
if(fault1_count[2]==10)
{
fault1_count[2]=0;
CAN_STR0.Bit.BIT4=0;
CAN_STR0.Bit.BIT5=0;
MC33984_fault1.Bit.BIT2=0;
}
}
if(MC33984_fault1.Bit.BIT3) //前左转向灯
{
fault1_count[3]++;
if(fault1_count[3]==10)
{
fault1_count[3]=0;
CAN_STR0.Bit.BIT6=0;
CAN_STR0.Bit.BIT7=0;
MC33984_fault1.Bit.BIT3=0;
}
}
if(MC33984_fault1.Bit.BIT4) //左远光灯
{
fault1_count[4]++;
if(fault1_count[4]==10)
{
fault1_count[4]=0;
CAN_STR1.Bit.BIT0=0;
CAN_STR1.Bit.BIT1=0;
MC33984_fault1.Bit.BIT4=0;
}
}
if(MC33984_fault1.Bit.BIT5) //顶踏步灯
{
fault1_count[5]++;
if(fault1_count[5]==10)
{
fault1_count[5]=0;
CAN_STR1.Bit.BIT2=0;
CAN_STR1.Bit.BIT3=0;
MC33984_fault1.Bit.BIT5=0;
}
}
if(MC33984_fault1.Bit.BIT6)
{ //开关有效电源
fault1_count[6]++;
if(fault1_count[6]==10)
{
fault1_count[6]=0;
CAN_STR1.Bit.BIT4=0;
CAN_STR1.Bit.BIT5=0;
MC33984_fault1.Bit.BIT6=0;
}
} //电子钟显示线
if(MC33984_fault1.Bit.BIT7)
{
fault1_count[7]++;
if(fault1_count[7]==10)
{
fault1_count[7]=0;
CAN_STR1.Bit.BIT6=0;
CAN_STR1.Bit.BIT7=0;
MC33984_fault1.Bit.BIT7=0;
}
}
}
//MC33984_fault2
if(MC33984_fault2.Byte!=0x00)
{
if(MC33984_fault2.Bit.BIT0) //车内辅助灯
{
fault2_count[0]++;
if(fault2_count[0]==10)
{
fault2_count[0]=0;
CAN_STR2.Bit.BIT0=0;
CAN_STR2.Bit.BIT1=0;
MC33984_fault2.Bit.BIT0=0;
}
} //蜂鸣器
if(MC33984_fault2.Bit.BIT1)
{
fault2_count[1]++;
if(fault2_count[1]==10)
{
fault2_count[1]=0;
CAN_STR2.Bit.BIT2=0;
CAN_STR2.Bit.BIT3=0;
MC33984_fault2.Bit.BIT1=0;
}
}
if(MC33984_fault2.Bit.BIT2) //顶灯1
{
fault2_count[2]++;
if(fault2_count[2]==10)
{
fault2_count[2]=0;
CAN_STR2.Bit.BIT4=0;
CAN_STR2.Bit.BIT5=0;
MC33984_fault2.Bit.BIT2=0;
}
} //顶灯2
if(MC33984_fault2.Bit.BIT3)
{
fault2_count[3]++;
if(fault2_count[3]==10)
{
fault2_count[3]=0;
CAN_STR2.Bit.BIT6=0;
CAN_STR2.Bit.BIT7=0;
MC33984_fault2.Bit.BIT3=0;
}
}
if(MC33984_fault2.Bit.BIT4) //顶灯3
{
fault2_count[4]++;
if(fault2_count[4]==10)
{
fault2_count[4]=0;
CAN_STR3.Bit.BIT0=0;
CAN_STR3.Bit.BIT1=0;
MC33984_fault2.Bit.BIT4=0;
}
}
if(MC33984_fault2.Bit.BIT5) //左前雾灯
{
fault2_count[5]++;
if(fault2_count[5]==10)
{
fault2_count[5]=0;
CAN_STR3.Bit.BIT2=0;
CAN_STR3.Bit.BIT3=0;
MC33984_fault2.Bit.BIT5=0;
}
}
if(MC33984_fault2.Bit.BIT6) //空调控制电源
{
fault2_count[6]++;
if(fault2_count[6]==10)
{
fault2_count[6]=0;
CAN_STR3.Bit.BIT4=0;
CAN_STR3.Bit.BIT5=0;
MC33984_fault2.Bit.BIT6=0;
}
} //司机灯
if(MC33984_fault2.Bit.BIT7)
{
fault2_count[7]++;
if(fault2_count[7]==10)
{
fault2_count[7]=0;
CAN_STR3.Bit.BIT6=0;
CAN_STR3.Bit.BIT7=0;
MC33984_fault2.Bit.BIT7=0;
}
}
}
//MC33984_fault3
if(MC33984_fault3.Byte!=0x00)
{
if(MC33984_fault3.Bit.BIT0) //彩灯1
{
fault3_count[0]++;
if(fault3_count[0]==10)
{
fault3_count[1]=0;
CAN_STR4.Bit.BIT0=0;
CAN_STR4.Bit.BIT1=0;
MC33984_fault3.Bit.BIT0=0;
}
}
if(MC33984_fault3.Bit.BIT1) //彩灯2
{
fault3_count[1]++;
if(fault3_count[1]==10)
{
fault3_count[1]=0;
CAN_STR4.Bit.BIT2=0;
CAN_STR4.Bit.BIT3=0;
MC33984_fault3.Bit.BIT1=0;
}
}
if(MC33984_fault3.Bit.BIT2) //换气扇电源
{
fault3_count[2]++;
if(fault3_count[2]==10)
{
fault3_count[2]=0;
CAN_STR4.Bit.BIT4=0;
CAN_STR4.Bit.BIT5=0;
MC33984_fault3.Bit.BIT2=0;
}
} //左镜加热器
if(MC33984_fault3.Bit.BIT3)
{
fault3_count[3]++;
if(fault3_count[3]==10)
{
fault3_count[3]=0;
CAN_STR4.Bit.BIT6=0;
CAN_STR4.Bit.BIT7=0;
MC33984_fault3.Bit.BIT3=0;
}
}
if(MC33984_fault3.Bit.BIT4) //阅读灯左路
{
fault3_count[4]++;
if(fault3_count[4]==10)
{
fault3_count[4]=0;
CAN_STR5.Bit.BIT0=0;
CAN_STR5.Bit.BIT1=0;
MC33984_fault3.Bit.BIT4=0;
}
}
if(MC33984_fault3.Bit.BIT5) //阅读灯右路
{
fault3_count[5]++;
if(fault3_count[5]==10)
{
fault3_count[5]=0;
CAN_STR5.Bit.BIT2=0;
CAN_STR5.Bit.BIT3=0;
MC33984_fault3.Bit.BIT5=0;
}
} //开关背光电源
if(MC33984_fault3.Bit.BIT6)
{
fault3_count[6]++;
if(fault3_count[6]==10)
{
fault3_count[6]=0;
CAN_STR5.Bit.BIT4=0;
CAN_STR5.Bit.BIT5=0;
MC33984_fault3.Bit.BIT6=0;
}
}
if(MC33984_fault3.Bit.BIT7) //电子钟变光线
{
fault3_count[7]++;
if(fault3_count[7]==10)
{
fault3_count[7]=0;
CAN_STR5.Bit.BIT6=0;
CAN_STR5.Bit.BIT7=0;
MC33984_fault3.Bit.BIT7=0;
}
}
}
//MC33984_fault4
if(MC33984_fault4.Byte!=0x00)
{
if(MC33984_fault4.Bit.BIT0) //电视机
{
fault4_count[0]++;
if(fault4_count[0]==10)
{
fault4_count[0]=0;
CAN_STR6.Bit.BIT0=0;
CAN_STR6.Bit.BIT1=0;
MC33984_fault4.Bit.BIT0=0;
}
}
if(MC33984_fault4.Bit.BIT1) //电子钟记忆线
{
fault4_count[1]++;
if(fault4_count[1]==10)
{
fault4_count[1]=0;
CAN_STR6.Bit.BIT2=0;
CAN_STR6.Bit.BIT3=0;
MC33984_fault4.Bit.BIT1=0;
}
}
if(MC33984_fault4.Bit.BIT2) //卫生间有人指示
{
fault4_count[2]++;
if(fault4_count[2]==10)
{
fault4_count[2]=0;
CAN_STR6.Bit.BIT4=0;
CAN_STR6.Bit.BIT5=0;
MC33984_fault4.Bit.BIT2=0;
}
}
//NC
MC33984_fault4.Bit.BIT3=0;
MC33984_fault4.Bit.BIT4=0;
MC33984_fault4.Bit.BIT5=0;
MC33984_fault4.Bit.BIT6=0;
MC33984_fault4.Bit.BIT7=0;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -