用MPLAB IDE 写代码的时候,开灯的代码执行完后会马上自动把灯关闭,这是为什么
主函数
while(1)
{
Signal_Input();
if(signal.turn==1)
{
Turn_Light();
}
else if(signal.low==1)
{
__delay_ms(400);
Low_Light();
}
else if(signal.high==1)
{
High_Light();
}
}
输入
void Signal_Input(void)
{
if(ZX_VIN_PORT==1)
{
signal.turn=1;
signal.high=0;
signal.low=0;
return ;
}
else
{
signal.turn=0;
}
if(LOW_VIN_PORT==1)
{
signal.low=1;
signal.high=0;
return ;
}
else
{
signal.low=0;
}
if(HIGH_VIN_PORT==1)
{
signal.high=1;
}
else
{
signal.high=0;
}
}
控制灯
void Turn_Light(void)
{
int i=0;
int n=0;
if(signal.turn==1)
{
ZX1_ON;
ZX2_ON;
while(signal.turn==0)
{
}
}
else if(signal.turn==0)
{
ZX1_OFF;
ZX2_OFF;
}
}
void High_Light(void)
{
PWN_ON;
if(signal.high==1)
{
PWM4_LoadDutyValue(1000);
}
else
{
PWM_OFF;
}
}
void Low_Light(void)
{
PWM_ON;
if(signal.low==1)
{
signal.high=0;
PWM4_LoadDutyValue(500);
}
else
{
PWM_OFF;
}
}