?? wake_up_key.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")
void LF_Wake_Up_Key(void)
{
if(Status&ShutOffPKE &&! (Flag_Learn1 && !Flag_Learn0)) //if PKE Funtion disable will don't Perform following
return;
if(!AutoLockTimer && !Port_ACC_Trig)
{
if(!(Status&InGuard))
{
SystemTimer=0;
Status|=InGuard;
OutputCtrl(LockOn,0);
if(Flag_RollWindow_Allow)
{
EnableRollUpWindow=1;
Flag_RollWindow_Allow=0;
}
}
}
/*==================================================================*/
if(Flag_Learn1 && !Flag_Learn0)
LFScanTimer=20; //500ms
else if(Status&InGuard)
LFScanTimer=10; //500ms
else if(Flag_FaseCheck)
LFScanTimer=15; //250ms
else
LFScanTimer=30; //1s (Unguard mode)
/*==================================================================*/
if(TxLFClk>=16 && Flag_WaitingACK) //400ms
{
Flag_WaitingACK=0;
Flag_FaseCheck=1;
if(Flag_FirstLossKey)
Flag_Channel^=0x01;
Flag_FirstLossKey=1;
}
else if(TxLFClk >= LFScanTimer)
{
if(Port_ACC_Trig && !(Status&InGuard))
{
AutoLockTimer=(3*4+1);
TxLFClk=0;
TXLFCompleted=1;
Flag_Channel=0;
return;
}
//over 48 hours ,clear at unguard mode
if(Status&DisablePKE && !(Flag_Learn1 && !Flag_Learn0))
{
TxLFClk=0;
TXLFCompleted=1;
Flag_Channel=0;
return;
}
// begain transmit
if(Flag_Channel)
{
TX_Channel_1;
}
else
{
TX_Channel_1; //TX_Channel_0; for 2 channel
}
if(TXLFCompleted)
{
if(Flag_Learn1 && !Flag_Learn0)
{
if(Flag_Learn_Step)
{
TX_Channel_1;
}
else
{
TX_Channel_1; //TX_Channel_0; for 2 channel
}
TXCode(LearnREQ,Strong);
Flag_Learn_Step^=1;
}
else
{
if(Status&InGuard) // no seek key
{
TXCode(SearchKey,Strong);
Flag_Position=0;
}
else
{
TXCode(SearchKey,Weak);
Flag_Position=1;
}
}
TXLFCompleted=0;
Flag_WaitingACK=1;
TxLFClk=0;
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -