📄 centerctroller.c
字号:
#define __DEFINE_REGISTERS_STVD7_INCLUDE__
#include "ST72324BLK2.h"
#include "Head.h"
#include "Variables.h"
#include "Subroutine.h"
#undef __DEFINE_REGISTERS_STVD7_INCLUDE__
#define asm_nop() _asm ("nop\n")
#define DI() _asm ("sim\n")
#define EI() _asm ("rim\n")
extern enum outputmode OutputMode;
void Alamer(void)
{
/*=============================================================*/
if(Port_SideDoor_Trig)
{
Flag_RollWindow_Allow=1;
Flag_WrongUnlockTrig=1;
}
else
{
if(Flag_NoteCloseDoor && !Flag_Door_Alarming)
{
Flag_NoteCloseDoor=0;
if(!Flag_ACC_Alarming)
Port_Fuel_0;
}
}
if(Port_ACC_Trig)
{
Flag_WrongUnlockTrig=1;
}
/*=============================================================*/
if(WrongUnlockCHeckingTimer>=20)
{
if(Flag_WrongUnlockCHecking && !Flag_WrongUnlockTrig)
{
Status|=InGuard;
SystemTimer=0;
OutputCtrl(LockOn,0);
}
Flag_WrongUnlockCHecking=0;
}
/*=============================================================*/
if(Status&InGuard )
{
ACCToggleTimes=0;
if(SystemTimer<4)
return;
else if(SystemTimer==4)
{
if(Port_SideDoor_Trig)
{
OutputCtrl(NoteCloseDoor,16);
Flag_NoteCloseDoor=1;
SystemTimer++;
}
}
else if(SystemTimer==9 && Flag_NoteCloseDoor)
{
Port_Fuel_1;
RecoveryFuelTimer=0;
}
else
{
if(Port_SideDoor_Trig && !Flag_NoteCloseDoor && !Flag_Door_Alarmed)
{
Delay(10000);
if(!Port_SideDoor_Trig)
return;
Flag_Door_Alarmed=1;
Flag_Door_Alarming=1;
goto CutOffFuel;
}
else if(Port_ACC_Trig && !Flag_ACC_Alarmed)
{
Delay(10000);
if(!Port_ACC_Trig)
return;
Flag_ACC_Alarmed=1;
Flag_ACC_Alarming=1;
CutOffFuel:
Port_Fuel_1;
Status|=SwitchTriged;
AlarmTimes++;
OutputCtrl(Alarm,0);
}
}
}
else
{
AutoDisablePKETimer=0;
AlarmTimes=0;
Status&=~DisablePKE;
Flag_Door_Alarming=0;
Flag_ACC_Alarming=1;
Flag_Door_Alarmed=0;
Flag_ACC_Alarmed=0;
Port_Fuel_0;
Flag_NoteCloseDoor=0;
/*==========================================================*/
if(!Port_ACC_Trig)
{
Flag_ACC=1;
Flag_DisablePKESetting=0;
if(ACCToggleTimes>=3)
ACCToggleTimes=0;
}
else if(Flag_ACC)
{
Delay(10000);
if(!Port_ACC_Trig)
return;
Flag_ACC=0;
DiablePKETimer=0;
Flag_RollWindow_Allow=1;
if(++ACCToggleTimes>=3)
{
Flag_DisablePKESetting=1;
Port_Lamp_1;
Port_Horn_1;
Delay(45000);//200ms
Port_Horn_0;
}
else
Flag_DisablePKESetting=0;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -