厂家提供的芯片资料
This commit is contained in:
661
范例程序(C语言)/IH-CMS79F53X5-C-V1.0/__REL_IhDebug.c
Normal file
661
范例程序(C语言)/IH-CMS79F53X5-C-V1.0/__REL_IhDebug.c
Normal file
@@ -0,0 +1,661 @@
|
||||
/**************************************************************************
|
||||
**************************************************************************/
|
||||
#include "Define_Global.h"
|
||||
#if _MODE_IHDEBUG_
|
||||
|
||||
/**************************************************************************
|
||||
--------------------------------- 变量定义 --------------------------------
|
||||
**************************************************************************/
|
||||
volatile unsigned char Del_SendStatus;
|
||||
volatile unsigned int StatusWork;
|
||||
volatile unsigned int StatusError;
|
||||
volatile unsigned int StatusProtect;
|
||||
|
||||
volatile unsigned char Count_IhDebugComm;
|
||||
volatile unsigned int Del_IhDebugComm;
|
||||
//-------------------------------------------------------------------------
|
||||
volatile bit B_SendStatus_IhDebug;
|
||||
volatile bit B_TestComm_IhDebug;
|
||||
volatile bit B_CommErr_IhDebug;
|
||||
//*************************************************************************
|
||||
volatile unsigned int Bak_StatusWork;
|
||||
volatile unsigned int Bak_StatusError;
|
||||
volatile unsigned int Bak_StatusProtect;
|
||||
|
||||
volatile unsigned char Bak_PowerWork;
|
||||
volatile unsigned char Bak_TimeAll_JXHeat;
|
||||
volatile unsigned char Bak_TimeOn_JXHeat;
|
||||
volatile unsigned char Bak_Num_LxLowAll;
|
||||
volatile unsigned char Bak_Num_LxLowOn;
|
||||
|
||||
volatile unsigned int Bak_Num_TestCM;
|
||||
//-------------------------------------------------------------------------
|
||||
volatile bit B_Bak_JXNoCheck;
|
||||
volatile bit B_Bak_JXCheckPan;
|
||||
volatile bit B_Bak_LxLow;
|
||||
|
||||
/**************************************************************************
|
||||
* 函数名称:REL_DealSendCurve
|
||||
* 函数功能:发送数据处理(曲线)
|
||||
* 入口参数:id = 发送ID值
|
||||
* 出口参数:发送数据值
|
||||
* 备 注:内部调用
|
||||
**************************************************************************/
|
||||
unsigned int REL_DealSendCurve(unsigned char id)
|
||||
{
|
||||
switch(id)
|
||||
{
|
||||
case 0: //【曲线1数据】
|
||||
return (unsigned int)AD_Volatage; //市电电压AD【9bit】
|
||||
case 1: //【曲线2数据】
|
||||
return (unsigned int)AD_Current; //工作电流AD【9bit】
|
||||
case 2: //【曲线3数据】
|
||||
return (unsigned int)AD_TmprPan; //锅底温度AD【8bit】
|
||||
case 3: //【曲线4数据】
|
||||
#ifndef _pAD_TOP
|
||||
return 0;
|
||||
#else
|
||||
return (unsigned int)AD_TmprTop; //顶部温度AD【8bit】
|
||||
#endif
|
||||
case 4: //【曲线5数据】
|
||||
return (unsigned int)AD_TmprIgbt; //IGBT温度AD【8bit】
|
||||
case 5: //【曲线6数据】
|
||||
return (unsigned int)AD_VRef; //内部基准电压AD【9bit】
|
||||
case 6: //【曲线7数据】
|
||||
return (unsigned int)Vol.flo.integer + C_Vol_Comp; //市电电压(V)
|
||||
case 7: //【曲线8数据】
|
||||
return (unsigned int)CurrentReal; //实际工作电流(A*256)
|
||||
case 8: //【曲线9数据】
|
||||
return (unsigned int)PowerReal; //实际输出功率(W)
|
||||
case 9: //【曲线10数据】
|
||||
return (unsigned int)PowerSet; //设置输出功率(W)
|
||||
case 10://【曲线11数据】
|
||||
return (unsigned int)Buf_PPGTMR; //当前PPGTMR值
|
||||
case 11://【曲线12数据】
|
||||
return (unsigned int)Count_Syn; //检锅振荡个数
|
||||
case 12://【曲线13数据】
|
||||
return (unsigned int)Time_Syn; //检锅振荡脉宽
|
||||
case 13://【曲线14数据】
|
||||
return (unsigned int)Count_BackPress; //1级过压保护计数
|
||||
case 14://【曲线15数据】
|
||||
return (unsigned int)Count_IgbtProtect; //IGBT硬件保护计数
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
* 函数名称:REL_DealSendStatus
|
||||
* 函数功能:发送数据处理(状态)
|
||||
* 入口参数:id = 发送ID值
|
||||
* 出口参数:发送ID值 + 发送数据值
|
||||
* 备 注:内部调用
|
||||
**************************************************************************/
|
||||
unsigned long REL_DealSendStatus(unsigned char id)
|
||||
{
|
||||
volatile unsigned long data;
|
||||
//---------------------------------------------------------------------
|
||||
if(B_SendStatus_IhDebug)
|
||||
{
|
||||
B_SendStatus_IhDebug = 0; //完成状态发送
|
||||
|
||||
switch(id)
|
||||
{
|
||||
case 1: //【工作状态】
|
||||
data = 0xE0;
|
||||
data <<= 16;
|
||||
data += StatusWork;
|
||||
return data;
|
||||
case 2: //【故障状态】
|
||||
data = 0xE1;
|
||||
data <<= 16;
|
||||
data += StatusError;
|
||||
return data;
|
||||
case 3: //【保护状态】
|
||||
data = 0xE2;
|
||||
data <<= 16;
|
||||
data += StatusProtect;
|
||||
return data;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
* 函数名称:REL_DealReceData
|
||||
* 函数功能:接收数据处理
|
||||
* 入口参数:id = 接收ID值、value = 接收数据值
|
||||
* 出口参数:发送ID值 + 发送数据值
|
||||
* 备 注:内部调用
|
||||
**************************************************************************/
|
||||
unsigned long REL_DealReceData(unsigned char id, unsigned int value)
|
||||
{
|
||||
volatile unsigned long data;
|
||||
//*********************************************************************
|
||||
if((id & 0xF0) == 0xE0) //【发送回传】
|
||||
{
|
||||
switch(id & 0x0F)
|
||||
{
|
||||
case 0:
|
||||
Bak_StatusWork = value; //工作状态
|
||||
break;
|
||||
case 1:
|
||||
Bak_StatusError = value; //故障状态
|
||||
break;
|
||||
case 2:
|
||||
Bak_StatusProtect = value; //保护状态
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
//*********************************************************************
|
||||
else if(id == 0xA0) //【工作命令】
|
||||
{
|
||||
if(TestOne(value,0))
|
||||
{
|
||||
if(!B_Heat_En)
|
||||
{
|
||||
SetBit(value,1); //风扇强制使能
|
||||
B_Fan_En = 1; //风扇使能
|
||||
}
|
||||
B_Heat_En = 1; //加热使能
|
||||
}
|
||||
else
|
||||
{
|
||||
B_Heat_En = 0;
|
||||
}
|
||||
|
||||
if(TestOne(value,1))
|
||||
{
|
||||
B_Fan_En = 1; //风扇使能
|
||||
}
|
||||
else
|
||||
{
|
||||
B_Fan_En = 0;
|
||||
}
|
||||
|
||||
if(TestOne(value,2))
|
||||
{
|
||||
B_Buzz_En = 1; //蜂鸣器使能
|
||||
}
|
||||
else
|
||||
{
|
||||
B_Buzz_En = 0;
|
||||
}
|
||||
|
||||
if(TestOne(value,3))
|
||||
{
|
||||
ClrBit(value,3);
|
||||
ClrBit(value,2); //蜂鸣器强制关闭
|
||||
B_Buzz_En = 0;
|
||||
|
||||
if(!B_Buzz_Out)
|
||||
{
|
||||
Buzz_Short_One(); //蜂鸣器短鸣1声
|
||||
}
|
||||
}
|
||||
|
||||
if(TestOne(value,4))
|
||||
{
|
||||
ClrBit(value,4);
|
||||
ClrBit(value,2); //蜂鸣器强制关闭
|
||||
B_Buzz_En = 0;
|
||||
|
||||
if(!B_Buzz_Out)
|
||||
{
|
||||
Buzz_Long_One(); //蜂鸣器长鸣1声
|
||||
}
|
||||
}
|
||||
|
||||
if(TestOne(value,5))
|
||||
{
|
||||
if(!B_Bak_JXNoCheck)
|
||||
{
|
||||
ClrBit(value,6); //间隙加热使能(检锅)强制关闭
|
||||
B_Bak_JXCheckPan = 0;
|
||||
}
|
||||
B_Bak_JXNoCheck = 1; //间隙加热使能(不检锅)
|
||||
}
|
||||
else
|
||||
{
|
||||
B_Bak_JXNoCheck = 0;
|
||||
}
|
||||
|
||||
if(TestOne(value,6))
|
||||
{
|
||||
if(!B_Bak_JXCheckPan)
|
||||
{
|
||||
ClrBit(value,5); //间隙加热使能(不检锅)强制关闭
|
||||
B_Bak_JXNoCheck = 0;
|
||||
}
|
||||
B_Bak_JXCheckPan = 1; //间隙加热使能(检锅)
|
||||
}
|
||||
else
|
||||
{
|
||||
B_Bak_JXCheckPan = 0;
|
||||
}
|
||||
|
||||
if(TestOne(value,7))
|
||||
{
|
||||
if(!B_PPGDP_Can)
|
||||
{
|
||||
ClrBit(value,9); //连续低功率强制关闭
|
||||
B_Bak_LxLow = 0;
|
||||
}
|
||||
B_PPGDP_Can = 1; //抖频使能
|
||||
}
|
||||
else
|
||||
{
|
||||
if(B_PPGDP_Can)
|
||||
{
|
||||
SetBit(value,8); //抖频使能强制禁止
|
||||
B_PPGDP_Dis = 1; //抖频禁止
|
||||
}
|
||||
B_PPGDP_Can = 0;
|
||||
}
|
||||
|
||||
if(TestOne(value,8))
|
||||
{
|
||||
B_PPGDP_Dis = 1; //抖频禁止
|
||||
}
|
||||
else
|
||||
{
|
||||
B_PPGDP_Dis = 0;
|
||||
}
|
||||
|
||||
if(TestOne(value,9))
|
||||
{
|
||||
if(!B_Bak_LxLow)
|
||||
{
|
||||
ClrBit(value,7); //抖频使能强制关闭
|
||||
B_PPGDP_Can = 0;
|
||||
SetBit(value,8); //抖频使能强制禁止
|
||||
B_PPGDP_Dis = 1; //抖频禁止
|
||||
}
|
||||
B_Bak_LxLow = 1; //连续低功率使能
|
||||
}
|
||||
else
|
||||
{
|
||||
B_Bak_LxLow = 0;
|
||||
}
|
||||
}
|
||||
//---------------------------------------------------------------------
|
||||
else if((id & 0xF0) == 0xB0) //【工作参数】
|
||||
{
|
||||
switch(id & 0x0F)
|
||||
{
|
||||
case 0: //加热输出功率(×10W)
|
||||
Bak_PowerWork = value;
|
||||
break;
|
||||
case 1: //加热间隙总时间(×0.5秒)
|
||||
Bak_TimeAll_JXHeat = value;
|
||||
break;
|
||||
case 2: //加热间隙开时间(×0.5秒)
|
||||
Bak_TimeOn_JXHeat = value;
|
||||
break;
|
||||
case 3: //加热连续低功率总个数
|
||||
Bak_Num_LxLowAll = value;
|
||||
break;
|
||||
case 4: //加热连续低功率开个数
|
||||
Bak_Num_LxLowOn = value;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
//---------------------------------------------------------------------
|
||||
else if((id & 0xF0) == 0xC0) //【配置参数】
|
||||
{
|
||||
switch(id & 0x0F)
|
||||
{
|
||||
case 0: //PPG导通延时
|
||||
ValueTime_PPGDly = value;
|
||||
break;
|
||||
case 1: //电压浪涌
|
||||
ValueVol_VolSurge = value;
|
||||
break;
|
||||
case 2: //电流浪涌
|
||||
ValueVol_CurrSurge = value;
|
||||
break;
|
||||
case 3: //导通台阶
|
||||
ValueVol_OnStep = value;
|
||||
break;
|
||||
case 4: //1级过压
|
||||
ValueVol_BackPress1 = value;
|
||||
break;
|
||||
case 5: //1级过压PPG下降步进
|
||||
ValuePPG_BackPress1 = value;
|
||||
break;
|
||||
case 6: //2级过压
|
||||
ValueVol_BackPress2 = value;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
//*********************************************************************
|
||||
else if(id == 0x80) //【测试命令】
|
||||
{
|
||||
if(TestOne(value,0))
|
||||
{
|
||||
if(!B_Test_PanCheck)
|
||||
{
|
||||
ClrBit(value,1); //PPG测试强制关闭
|
||||
B_Test_PPGOut = 0;
|
||||
}
|
||||
B_Test_PanCheck = 1; //检锅测试开启
|
||||
}
|
||||
else
|
||||
{
|
||||
B_Test_PanCheck = 0;
|
||||
}
|
||||
|
||||
if(TestOne(value,1))
|
||||
{
|
||||
if(!B_Test_PPGOut)
|
||||
{
|
||||
ClrBit(value,0); //检锅测试强制关闭
|
||||
B_Test_PanCheck = 0;
|
||||
}
|
||||
B_Test_PPGOut = 1; //PPG测试开启
|
||||
}
|
||||
else
|
||||
{
|
||||
B_Test_PPGOut = 0;
|
||||
}
|
||||
|
||||
if(TestOne(value,2))
|
||||
{
|
||||
B_Test_CM_RA0 = 1; //比较器测试开启(RA0)
|
||||
}
|
||||
else
|
||||
{
|
||||
B_Test_CM_RA0 = 0;
|
||||
}
|
||||
|
||||
if(TestOne(value,3))
|
||||
{
|
||||
B_Test_CM_RB7 = 1; //比较器测试开启(RB7)
|
||||
}
|
||||
else
|
||||
{
|
||||
B_Test_CM_RB7 = 0;
|
||||
}
|
||||
|
||||
if(TestOne(value,4))
|
||||
{
|
||||
B_Test_PGA = 1; //PGA测试开启(RC0)
|
||||
}
|
||||
else
|
||||
{
|
||||
B_Test_PGA = 0;
|
||||
}
|
||||
|
||||
if(TestOne(value,5))
|
||||
{
|
||||
B_Test_SlopeCurr = 1; //电流斜率测试开启
|
||||
}
|
||||
else
|
||||
{
|
||||
B_Test_SlopeCurr = 0;
|
||||
}
|
||||
|
||||
if(TestOne(value,6))
|
||||
{
|
||||
B_ErrorCheck_Dis = 1; //禁止硬件故障检测
|
||||
}
|
||||
else
|
||||
{
|
||||
B_ErrorCheck_Dis = 0;
|
||||
}
|
||||
|
||||
if(TestOne(value,7))
|
||||
{
|
||||
B_LosePanCheck_Dis = 1; //禁止电流丢锅检测
|
||||
}
|
||||
else
|
||||
{
|
||||
B_LosePanCheck_Dis = 0;
|
||||
}
|
||||
}
|
||||
//---------------------------------------------------------------------
|
||||
else if((id & 0xF0) == 0x90) //【测试参数】
|
||||
{
|
||||
switch(id & 0x0F)
|
||||
{
|
||||
case 0: //检锅测试-PPGTMR值
|
||||
ValuePPG_Single = value;
|
||||
break;
|
||||
case 1: //PPG测试-PPGTMR值
|
||||
PPGTMR_TestPPG = value;
|
||||
break;
|
||||
case 2: //比较器测试-通道
|
||||
Bak_Num_TestCM = 0xFF00 | value;
|
||||
break;
|
||||
case 3: //电流斜率测试-斜率
|
||||
SlopeCurr_Test = value;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
//*********************************************************************
|
||||
Del_IhDebugComm = 0; //清通信故障计时
|
||||
B_CommErr_IhDebug = 0; //清通信故障标志
|
||||
B_TestComm_IhDebug = 1; //开始检测通信故障
|
||||
|
||||
if((id >= 0xE0) || (id < 0x80))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
data = id;
|
||||
data <<= 16;
|
||||
data += value;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
* 函数名称:REL_ReceSendCom
|
||||
* 函数功能:接收发送公共处理
|
||||
* 入口参数:无
|
||||
* 出口参数:无
|
||||
* 备 注:主循环调用
|
||||
**************************************************************************/
|
||||
void REL_ReceSendCom(void)
|
||||
{
|
||||
volatile unsigned int i;
|
||||
|
||||
static unsigned char Del_JXHeat,Cnt_JXHeat;
|
||||
static unsigned char Del_DispBackPress;
|
||||
static bit B_DispBackPress;
|
||||
|
||||
/**********************************************************************
|
||||
接收
|
||||
**********************************************************************/
|
||||
B_HeatStop_CheckPan = 0;
|
||||
B_HeatStop_NoCheck = 0;
|
||||
|
||||
if((B_Bak_JXCheckPan || B_Bak_JXNoCheck) && Bak_TimeOn_JXHeat && (Bak_TimeAll_JXHeat > Bak_TimeOn_JXHeat))
|
||||
{
|
||||
if(++Del_JXHeat >= 500/C_TimeMS_Main) //0.5s
|
||||
{
|
||||
Del_JXHeat = 0;
|
||||
|
||||
if(++Cnt_JXHeat >= Bak_TimeAll_JXHeat)
|
||||
{
|
||||
Cnt_JXHeat = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if(Cnt_JXHeat >= Bak_TimeOn_JXHeat)
|
||||
{
|
||||
if(B_Bak_JXCheckPan)
|
||||
{
|
||||
B_HeatStop_CheckPan = 1; //不加热但检锅
|
||||
}
|
||||
else
|
||||
{
|
||||
B_HeatStop_NoCheck = 1; //不加热不检锅
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Del_JXHeat = 0;
|
||||
Cnt_JXHeat = 0;
|
||||
}
|
||||
//---------------------------------------------------------------------
|
||||
PowerWork = Bak_PowerWork;
|
||||
//*********************************************************************
|
||||
if(B_Bak_LxLow && Bak_Num_LxLowOn && (Bak_Num_LxLowAll > Bak_Num_LxLowOn))
|
||||
{
|
||||
Num_LxLowOn = Bak_Num_LxLowOn;
|
||||
Num_LxLowOff = (unsigned)Bak_Num_LxLowAll - Bak_Num_LxLowOn;
|
||||
}
|
||||
else
|
||||
{
|
||||
Num_LxLowOn = 0;
|
||||
Num_LxLowOff = 0;
|
||||
}
|
||||
//*********************************************************************
|
||||
if((B_Test_CM_RA0 || B_Test_CM_RB7) && Bak_Num_TestCM)
|
||||
{
|
||||
ValueCM_Test = 0x08 | ((unsigned)Bak_Num_TestCM & 0x07);
|
||||
}
|
||||
else
|
||||
{
|
||||
ValueCM_Test = 0;
|
||||
}
|
||||
//---------------------------------------------------------------------
|
||||
if(B_Test_PGA)
|
||||
{
|
||||
ValuePGA_Set |= 0x02;
|
||||
}
|
||||
else
|
||||
{
|
||||
ValuePGA_Set &= ~0x02;
|
||||
}
|
||||
|
||||
/**********************************************************************
|
||||
发送
|
||||
**********************************************************************/
|
||||
if(B_Protect_BackPress)
|
||||
{
|
||||
B_DispBackPress = 1; //过压保护显示
|
||||
}
|
||||
|
||||
if(B_DispBackPress)
|
||||
{
|
||||
if(Del_DispBackPress >= 500/C_TimeMS_Main) //500ms
|
||||
{
|
||||
B_DispBackPress = 0; //退出过压保护显示
|
||||
}
|
||||
else
|
||||
{
|
||||
Del_DispBackPress++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Del_DispBackPress = 0;
|
||||
}
|
||||
//---------------------------------------------------------------------
|
||||
i = 0;
|
||||
if(B_Pan_Error) SetBit(i,0); //检锅故障(未接线盘)
|
||||
if(B_Pan_No) SetBit(i,1); //无锅
|
||||
if(B_Pan_Have) SetBit(i,2); //有锅
|
||||
if(B_Pan_Steel) SetBit(i,3); //钢锅
|
||||
if(B_Pan_Iron) SetBit(i,4); //铁锅
|
||||
|
||||
if(B_Zero_No) SetBit(i,5); //无过零
|
||||
else
|
||||
{if(!B_Zero_60Hz) SetBit(i,6); //过零频率 = 50Hz
|
||||
else SetBit(i,7);} //过零频率 = 60Hz
|
||||
|
||||
if(B_PPG_Out) SetBit(i,8); //正常加热
|
||||
if(B_PPGStop_NoCheck) SetBit(i,9); //加热暂停,不检锅
|
||||
if(B_PPGStop_CheckPan) SetBit(i,10); //加热暂停,并检锅
|
||||
if(Flag1_Error | Flag2_Error) SetBit(i,11); //故障停止加热
|
||||
if(B_Protect_Stop) SetBit(i,12); //保护停止加热
|
||||
if(Status_PPGDP & 0x02) SetBit(i,13); //抖频开启
|
||||
if(Status_LxLow & 0x02) SetBit(i,14); //连续低功率开启
|
||||
|
||||
StatusWork = i; //工作状态
|
||||
//---------------------------------------------------------------------
|
||||
i = 0;
|
||||
if(B_EVolLow) SetBit(i,0); //市电电压过低
|
||||
if(B_EVolHigh) SetBit(i,1); //市电电压过高
|
||||
if(B_EIgbtOpen) SetBit(i,2); //IGBT-NTC开路
|
||||
if(B_EIgbtClose) SetBit(i,3); //IGBT-NTC短路
|
||||
if(B_EIgbtOver) SetBit(i,4); //IGBT-NTC超温
|
||||
if(B_EPanOpen) SetBit(i,5); //锅底-NTC开路
|
||||
if(B_EPanClose) SetBit(i,6); //锅底-NTC短路
|
||||
if(B_EPanOver) SetBit(i,7); //锅底-NTC超温
|
||||
if(B_EPanFail) SetBit(i,8); //锅底-NTC失效
|
||||
if(B_ETopOpen) SetBit(i,9); //顶部-NTC开路
|
||||
if(B_ETopClose) SetBit(i,10); //顶部-NTC短路
|
||||
if(B_ETopFail) SetBit(i,11); //顶部-NTC失效
|
||||
if(B_CommErr_IhDebug) SetBit(i,12); //通信故障
|
||||
|
||||
StatusError = i; //故障状态
|
||||
//---------------------------------------------------------------------
|
||||
i = 0;
|
||||
if(TestOne(Status_PPGStop,0)) SetBit(i,0); //1级过压比较器计数溢出
|
||||
if(TestOne(Status_PPGStop,1)) SetBit(i,1); //电压浪涌
|
||||
if(TestOne(Status_PPGStop,2)) SetBit(i,2); //电流浪涌
|
||||
if(TestOne(Status_PPGStop,3)) SetBit(i,3); //2级过压
|
||||
if(TestOne(Status_PPGStop,4)) SetBit(i,4); //导通台阶过高
|
||||
if(TestOne(Status_PPGStop,5)) SetBit(i,5); //PPG看门狗溢出
|
||||
if(B_DispBackPress) SetBit(i,6); //过压保护
|
||||
|
||||
StatusProtect = i; //保护状态
|
||||
//---------------------------------------------------------------------
|
||||
if(++Del_SendStatus >= 100/C_TimeMS_Main) //150ms
|
||||
{
|
||||
Del_SendStatus = 0;
|
||||
B_SendStatus_IhDebug = 1; //发送状态
|
||||
}
|
||||
|
||||
/**********************************************************************
|
||||
通信故障
|
||||
**********************************************************************/
|
||||
if(!B_TestComm_IhDebug)
|
||||
{
|
||||
Del_IhDebugComm = 0; //未开始检测通信故障
|
||||
B_CommErr_IhDebug = 0; //清通信故障标志
|
||||
}
|
||||
else if(++Del_IhDebugComm >= 1000/C_TimeMS_Main) //1s
|
||||
{
|
||||
Del_IhDebugComm = 0;
|
||||
B_CommErr_IhDebug = 1; //通信故障
|
||||
|
||||
if(++Count_IhDebugComm & 0x01)
|
||||
{
|
||||
B_Fan_En = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
B_Fan_En = 0;
|
||||
}
|
||||
|
||||
B_Heat_En = 0;
|
||||
B_Buzz_En = 0;
|
||||
B_Test_PanCheck = 0;
|
||||
B_Test_PPGOut = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
**************************************************************************/
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user