ZDBMS/code_drv/MosCtrl.c

84 lines
1.9 KiB
C
Raw Permalink Normal View History

2025-02-06 07:35:32 +00:00
/********************************************************************************
Copyright (C), Sinowealth Electronic. Ltd.
Author: Sino
Version: V0.0
Date: 2020/04/26
History:
V2.0 2020/04/26 Preliminary
********************************************************************************/
#include "Main.h"
BOOL bCHGMOSBk;
BOOL bDSGMOSBk;
/*************************************************************************************************
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: MosStatusCheck
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>: <EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ: <EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>: <EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD>ذ<EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>MOS<EFBFBD><EFBFBD><EFBFBD>Ʊ<EFBFBD>־
*************************************************************************************************/
void MosStatusCheck(void)
{
bCHGMOS = 1;
bDSGMOS = 1;
if(bAFE_OV || bCTO)
{
bCHGMOS = 0;
}
if(bOTD || bUTD || bOCD1 || bOCD2 || bAFE_SC || bCTO)
{
bDSGMOS = 0;
}
if(!bDSGING) //<2F><><EFBFBD><EFBFBD>ŵ<EFBFBD>״̬ʱ<CCAC><CAB1><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>رճ<D8B1><D5B3><EFBFBD>MOS(ǰ<><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>bENMOS<4F><53><EFBFBD><EFBFBD>Ϊ1)
{
if(bOTC || bUTC || bOV || bOCC)
{
bCHGMOS = 0;
}
}
if(!bCHGING) //<2F><><EFBFBD><EFBFBD><E2B5BD><EFBFBD><EFBFBD>״̬ʱ<CCAC><CAB1><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>رշŵ<D5B7>MOS
{
if(bUV)
{
bDSGMOS = 0;
}
}
if(bOCD1 || bOCD2 || bAFE_SC) //<2F>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>OCPM<50><4D><EFBFBD><EFBFBD>Ϊ1<CEAA><31><EFBFBD><EFBFBD><EFBFBD>رճ<D8B1><D5B3><EFBFBD>MOS
{
bCHGMOS = 0;
}
if(bOCC) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>رշŵ<D5B7>MOS
{
bDSGMOS = 0;
}
}
/*************************************************************************************************
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: MosCtrl
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>: <EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ: <EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>: MOS<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*************************************************************************************************/
void MosCtrl(void)
{
MosStatusCheck(); //<2F>ж<EFBFBD>MOS״̬<D7B4><CCAC><EFBFBD>ޱ仯<DEB1><E4BBAF><EFBFBD>б<D0B1><E4BBAF>ͨ<EFBFBD><CDA8>ͨѶ<CDA8><D1B6><EFBFBD><EFBFBD>AFE<46><45><EFBFBD><EFBFBD>MOS
if((bCHGMOSBk!=bCHGMOS) || (bDSGMOSBk!=bDSGMOS))
{
bCHGMOSBk = bCHGMOS;
bDSGMOSBk = bDSGMOS;
AFEMosCtl(((U8)bDSGMOS<<1) | bCHGMOS);
}
}