C51 COMPILER V9.01 GASGAUGEINTER_V4_13 02/19/2025 10:42:28 PAGE 1 C51 COMPILER V9.01, COMPILATION OF MODULE GASGAUGEINTER_V4_13 OBJECT MODULE PLACED IN .\output\GasGaugeInter_V4_13.obj COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_gasguage\GasGaugeInter_V4_13.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\o -utput\MCUCore_Load.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730 -_lib\include;.\code_classb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\GasGaugeInter_V -4_13.lst) OBJECT(.\output\GasGaugeInter_V4_13.obj) line level source 1 /******************************************************************************** 2 Copyright (C), Sinowealth Electronic. Ltd. 3 Author: Sino 4 Version: V0.0 5 Date: 2022/12/08 6 History: 7 V0.0 2022/12/08 Preliminary 8 ********************************************************************************/ 9 #include "Main.h" 10 11 12 //***************************ÈÝÁ¿¼Æ²¿·ÖÏà¹Ø±äÁ¿£¬¿ÉÖ±½ÓÒƶ¯ÖÁÆäËû.cÎļþ£¬ÆäËûÈÝÁ¿¼Æ±äÁ¿Ò²¿ÉÒÔ¶¨ÒåÔÚ´Ë´¦£¬Ò -²¿ÉÒÔÔÚÆäËûÎļþÖж¨Òå************************************** 13 14 15 U16 xdata Info_uiRSOC; //¶ÔÍâÏÔʾµÄµçÁ¿£¨%£©£¬±äÁ¿ÀàÐÍ£ºU16 xdata£¨Êä³ö£© 16 U32 xdata Info_ulFCC; //¶ÔÍâÏÔʾµÄÂú³äÈÝÁ¿£¨mAh£©£¬±äÁ¿ÀàÐÍ£ºU32 xdata£¨Êä³ö£© 17 U32 xdata Info_ulRC; //¶ÔÍâÏÔʾµÄÊ£ÓàÈÝÁ¿£¨mAh£©£¬±äÁ¿ÀàÐÍ£ºU32 xdata£¨Êä³ö£© 18 U16 xdata Info_uiCycleCount; //¶ÔÍâÏÔʾµÄ·ÅµçÑ­»·´ÎÊý£¨´Î£©£¬±äÁ¿ÀàÐÍ£ºU16 xdata£¨Êä³ö£© 19 20 U32 xdata Info_ulDfilterRC; //Â˲¨Ç°µÄÊ£ÓàÈÝÁ¿Öµ¶ÔÍâÏÔʾ£¬±äÁ¿ÀàÐÍ£ºU32£¨Êä³ö£© 21 U32 xdata Info_ulTempDsgFcc; //¼ÆËãµÄ¿É·ÅµçÈÝÁ¿Öµ¶ÔÍâÏÔʾ£¬±äÁ¿ÀàÐÍ£ºU32£¨Êä³ö£© 22 U16 xdata Info_uiSocDecTime; //Ê£ÓàµçÁ¿°Ù·Ö±È£¨%£©µÄ±ä»¯ÂʶÔÍâÏÔʾ£¬±äÁ¿ÀàÐÍ£ºU16£¨Êä³ö£© 23 U16 xdata Info_uiRsocCnt; //Ê£ÓàµçÁ¿°Ù·Ö±È£¨%£©±ä»¯¼Æʱ¶ÔÍâÏÔʾ£¬±äÁ¿ÀàÐÍ£ºU16£¨Êä³ö£© 24 25 //BOOL bOCD1; //·Åµç¹ýÁ÷1±êÖ¾£¬±äÁ¿ÀàÐÍ£ºBOOL£¨ÊäÈ룩 26 //BOOL bOCD2; //·Åµç¹ýÁ÷2±êÖ¾£¬±äÁ¿ÀàÐÍ£ºBOOL£¨ÊäÈ룩 27 //BOOL bOCC; //³äµç¹ýÁ÷±êÖ¾£¬±äÁ¿ÀàÐÍ£ºBOOL£¨ÊäÈ룩 28 //BOOL bAFE_SC; //¶Ì·±êÖ¾£¬±äÁ¿ÀàÐÍ£ºBOOL£¨ÊäÈ룩 29 //BOOL bUV; //µ¥½ÚµçоǷѹ±êÖ¾£¬±äÁ¿ÀàÐÍ£ºBOOL£¨ÊäÈ룩 30 //BOOL bOV; //µ¥½Úµçо¹ýѹ±êÖ¾£¬±äÁ¿ÀàÐÍ£ºBOOL£¨ÊäÈ룩 31 32 //U16 xdata E2uiVOC[10]; //OCVµçѹÊý×飬·Ö±ð¶ÔÓ¦¾²ÖÃʱ10%ÈÝÁ¿¡«100%ÈÝÁ¿¹²10¸öµçѹµã£¬ÇÒE2uiVOC_D[0]¶ÔÓ¦10 -%¡¢E2uiVOC_D[9]¶ÔÓ¦100%£¬±äÁ¿ÀàÐÍ£ºU16 xdata£¨ÊäÈ룩 33 //U32 xdata E2ulDesignCapacity; //Éè¼ÆÈÝÁ¿£¬±äÁ¿ÀàÐÍ£ºU32 xdata£¨ÊäÈ룩 34 //U32 xdata E2ulFCC; //Âú³äÈÝÁ¿£¬±äÁ¿ÀàÐÍ£ºU32 xdata£¨ÊäÈë\Êä³ö´æÈëE2£© 35 //U32 xdata E2ulDfRC; //RSOCÂ˲¨Ç°µÄÊ£ÓàÈÝÁ¿£¬±äÁ¿ÀàÐÍ£ºU32 xdata£¨ÊäÈë\Êä³ö´æÈëE2£© 36 //U8 xdata E2ucSOC; //Â˲¨ºóÓÃÓÚ¶ÔÍâÏÔʾµÄRSOC£¬±äÁ¿ÀàÐÍ£ºU8 xdata£¨ÊäÈë\Êä³ö´æÈëE2£© 37 38 //U16 xdata E2uiChgEndVol; //³äµç½ØÖ¹µçѹ£¬±äÁ¿ÀàÐÍ£ºU16 xdata£¨ÊäÈ룩 39 //S16 xdata E2siChgEndCurr; //³äµç½ØÖ¹µçÁ÷£¬±äÁ¿ÀàÐÍ£ºS16 xdata£¨ÊäÈ룩 40 //U8 xdata E2ucChgEndDelay; //³äµç½ØÖ¹ÑÓʱ£¬±äÁ¿ÀàÐÍ£ºU8 xdata£¨ÊäÈ룩 41 //U16 xdata E2uiDsgEndVol; //·Åµç½ØÖ¹µçѹ£¬±äÁ¿ÀàÐÍ£ºU16 xdata£¨ÊäÈ룩 42 //S32 xdata E2slDsgEndCurr; //·Åµç½ØÖ¹µçÁ÷£¬±äÁ¿ÀàÐÍ£ºS32 xdata£¨ÊäÈ룩 43 //U8 xdata E2ucDsgEndDelay; //·Åµç½ØÖ¹ÑÓʱ£¬±äÁ¿ÀàÐÍ£ºU8 xdata£¨ÊäÈ룩 44 //U8 xdata E2ucDsgEndFlg; //·Åµç½ØÖ¹±êÖ¾£¬±äÁ¿ÀàÐÍ£ºU8 xdata£¨ÊäÈë\Êä³ö´æÈëE2£© 45 //U16 xdata E2uiOVvol; //µ¥½Ú¹ýѹãÐÖµ£¬±äÁ¿ÀàÐÍ£ºU16 xdata£¨ÊäÈ룩 46 //U16 xdata E2uiUVvol; //µ¥½ÚǷѹãÐÖµ£¬±äÁ¿ÀàÐÍ£ºU16 xdata£¨ÊäÈ룩 47 48 //U32 xdata E2ulCycleThreshold; //Ñ­»·´ÎÊý¸üÐÂãÐÖµ£¬±äÁ¿ÀàÐÍ£ºU32 xdata£¨ÊäÈ룩 49 //U32 xdata E2ulCycleThresholdCount;//Ñ­»·µçÁ¿¼ÆÊý£¬±äÁ¿ÀàÐÍ£ºU32 xdata£¨ÊäÈë\Êä³ö´æÈëE2£© 50 //U16 xdata E2uiCycleCount; //Ñ­»·´ÎÊý£¬±äÁ¿ÀàÐÍ£ºU16 xdata£¨ÊäÈë\Êä³ö´æÈëE2£© C51 COMPILER V9.01 GASGAUGEINTER_V4_13 02/19/2025 10:42:28 PAGE 2 51 //U16 xdata E2uiLastCCount; //ÉϴθüÐÂÈÝÁ¿Ê±µÄÑ­»·´ÎÊý £¬±äÁ¿ÀàÐÍ£ºU16 xdata£¨ÊäÈë\Êä³ö´æÈëE2£© 52 //S16 xdata E2siDfilterCur; //ÁãµçÁ÷´°¿Ú£¬±äÁ¿ÀàÐÍ£ºS16 xdata£¨ÊäÈ룩 53 54 U16 xdata E2uiDsgAdjLowTemp; //·ÅµçÄ©¶Ëµ÷½ÚµÄ×îµÍζȣ¬ÊýÖµ = ζȣ¨¶È£©¡Á10 + 2731£¬±äÁ¿ÀàÐÍ£ºU16 xdata£ -¨ÊäÈ룩 55 S32 xdata E2slDsgAdjMaxCurr; //·ÅµçÄ©¶Ëµ÷½ÚµÄ×î´ó·ÅµçµçÁ÷(mA)£¬±äÁ¿ÀàÐÍ£ºS32 xdata£¨ÊäÈ룩 56 U8 xdata E2ucDsgAdjLowFlg; //µÍλò´óµçÁ÷·ÅµçǷѹʱÔÊÐíSOCÌøÖÁ1%µÄ±êÖ¾£¨1£ºÔÊÐí£¬0£º½ûÖ¹£©£¬±äÁ¿ÀàÐÍ£ºU8 -xdata£¨ÊäÈ룩 57 U8 xdata E2ucDsgAdjLowSoc; //µÍλò´óµçÁ÷·ÅµçǷѹʱÔÊÐíSOCÌøÖÁ1%µÄãÐÖµ£¨%£©£¬±äÁ¿ÀàÐÍ£ºU8 xdata£¨ÊäÈ룩 58 59 U8 xdata E2ucFullDsgDelay; //¾²ÖÃʱÅжÏÂú·ÅµÄÑÓʱ£¨S£©£¬±äÁ¿ÀàÐÍ£ºU8 xdata£¨ÊäÈ룩 60 U32 xdata E2ulLoadEndVol; //¸ºÔØ»òµçо×Üѹ½ØÖ¹×ܵçѹ£¨mV£©£¬±äÁ¿ÀàÐÍ£ºU32 xdata£¨ÊäÈ룩 61 U32 xdata E2ulChgerEndVol; //³äµçÆ÷»òµçо×Üѹ½ØÖ¹×ܵçѹ£¨mV£©£¬±äÁ¿ÀàÐÍ£ºU32 xdata£¨ÊäÈ룩 62 U8 xdata E2ucChgerEndDelay; //³äµçÆ÷»òµçо×Üѹ½ØÖ¹ÑÓʱ£¨S£©£¬±äÁ¿ÀàÐÍ£ºU8 xdata£¨ÊäÈ룩 63 U32 xdata E2ulIdleSocTimes; //ÐèÒªµ÷½ÚSOCµÄ×Ô»½ÐÑ´ÎÊý£¬±äÁ¿ÀàÐÍ£ºU32 xdata£¨ÊäÈ룩 64 65 U8 xdata E2ucInitSocDif; //µÚÒ»´ÎÉϵçÈÝÁ¿Ìõ¼þ²îÖµ30%£¬Ò»°ã²»ÓÃÐ޸ģ¬±äÁ¿ÀàÐÍ£ºU8 xdata£¨ÊäÈ룩 66 U8 xdata E2ucInitUpSoc; //µÚÒ»´ÎÉϵçÉϵ÷ÈÝÁ¿µÄOCVÈÝÁ¿ãÐÖµ£¬±äÁ¿ÀàÐÍ£ºU8 xdata£¨ÊäÈ룩 67 U8 xdata E2ucChgAdjRatio; //³äµçÄ©¶Ëµ÷½ÚµÄ±ÈÀýϵÊý£¬Ô¼µÈÓÚ³äµçʱµçѹ´ÓOCV 100%µçѹ~³äµç½ØÖ¹µçѹ³ä½øµÄµçÁ¿ -°Ù·Ö±È(%)(Ôݶ¨)£¬±äÁ¿ÀàÐÍ£ºU8 xdata£¨ÊäÈ룩 68 U16 xdata E2uiTempFCC_K1; //¸ù¾Ýζȵ÷½ÚFCCÒ»½×ϵÊý£¬±äÁ¿ÀàÐÍ£ºU16 xdata£¨ÊäÈ룩 69 U16 xdata E2uiTempFCC_K2; //¸ù¾Ýζȵ÷½ÚFCC¶þ½×ϵÊý£¬±äÁ¿ÀàÐÍ£ºU16 xdata£¨ÊäÈ룩 70 U16 xdata E2uiTempFCC_B; //¸ù¾Ýζȵ÷½ÚFCCÆ«ÒÆÁ¿£¬±äÁ¿ÀàÐÍ£ºU16 xdata£¨ÊäÈ룩 71 U16 xdata E2uiDsgCorrectVol; //¿ªÊ¼·ÅµçÄ©¶ËÐÞµ÷µÄµçѹ£¨mV£©£¬±äÁ¿ÀàÐÍ£ºU16 xdata£¨ÊäÈ룩 72 U8 xdata E2ucDsgCorrectSOC; //¿ªÊ¼·ÅµçÄ©¶ËÐÞµ÷µÄÈÝÁ¿£¨%£©£¬±äÁ¿ÀàÐÍ£ºU8 xdata£¨ÊäÈ룩 73 74 U8 xdata E2ucDsgVolDet; //·ÅµçÄ©¶Ëµçѹ¼ì²â·ù¶È£¨mV£©£¬±äÁ¿ÀàÐÍ£ºU8 xdata£¨ÊäÈ룩 75 76 U16 xdata E2uiChgCorrectVol; //¿ªÊ¼³äµçÄ©¶ËÐÞµ÷µÄµçѹ£¨mV£©£¬±äÁ¿ÀàÐÍ£ºU16 xdata£¨ÊäÈ룩 77 U8 xdata E2ucChgCorrectSOC; //¿ªÊ¼³äµçÄ©¶ËÐÞµ÷µÄÈÝÁ¿£¨%£©£¬±äÁ¿ÀàÐÍ£ºU8 xdata£¨ÊäÈ룩 78 U8 xdata E2ucChg100Ratio; //Âú×ãÂú³äÌõ¼þºóÉϵ÷1%¼ä¸ôʱ¼ä£¨S£©£¬±äÁ¿ÀàÐÍ£ºU8 xdata£¨ÊäÈ룩 79 U8 xdata E2ucChgCurRatio; //³äµçʱµ÷½ÚÂ˲¨Ç°Ê£ÓàÈÝÁ¿µÄ³äµç±¶ÂÊ£¨µ¥Î»£º0.1C£©£¬±äÁ¿ÀàÐÍ£ºU8 xdata£¨ÊäÈ룩 80 U8 xdata E2ucChgChangeSocDif; //³äµçʱÐÞ¸ÄÂ˲¨Ç°Ê£ÓàÈÝÁ¿µÄÈÝÁ¿²îÖµ£¨%£©£¬±äÁ¿ÀàÐÍ£ºU8 xdata£¨ÊäÈ룩 81 U8 xdata E2ucChgChangeSocRatio; //³äµçʱÔÚCHGCUR_RATIO³äµç±¶ÂÊÏÂOCVÈÝÁ¿ÉÏ̧µÄ´óÖ·ù¶È(%)£¬±äÁ¿ÀàÐÍ£ºU8 xda -ta£¨ÊäÈ룩 82 83 U8 xdata E2ucFccUpdatePercent; //µ¥´ÎÈÝÁ¿Ñ§Ï°¸üеÄ×î´ó°Ù·Ö±È£¨%£©£¬±äÁ¿ÀàÐÍ£ºU8 xdata£¨ÊäÈ룩 84 U16 xdata E2uiChgEndTemp; //³äµç½Øֹζȣ¬ÊýÖµ = X£¨¶È£©¡Á10 + 2731£¬±äÁ¿ÀàÐÍ£ºU16 xdata£¨ÊäÈ룩 85 U16 xdata E2uiDsgEndTemp; //·Åµç½Øֹζȣ¬ÊýÖµ = X£¨¶È£©¡Á10 + 2731£¬±äÁ¿ÀàÐÍ£ºU16 xdata£¨ÊäÈ룩 86 87 U16 xdata E2ui_CYCLECOUNTA; //¸ù¾ÝÑ­»·´ÎÊýµ÷½ÚFCCµÄË¥¼õ½×¶ÎÒ»£ºÆðʼѭ»·´ÎÊý£¬±äÁ¿ÀàÐÍ£ºU16 xdata£¨ÊäÈ룩 88 U16 xdata E2ui_CYCLECOUNTA_K; //¸ù¾ÝÑ­»·´ÎÊýµ÷½ÚFCCµÄË¥¼õ½×¶ÎÒ»£ºË¥¼õбÂÊ=(CYCLECOUNTB - CYCLECOUNTA)/10£ -¬±äÁ¿ÀàÐÍ£ºU16 xdata£¨ÊäÈ룩 89 U16 xdata E2ui_CYCLECOUNTA_B; //¸ù¾ÝÑ­»·´ÎÊýµ÷½ÚFCCµÄË¥¼õ½×¶ÎÒ»£ºË¥¼õ½Ø¾à=(CYCLECOUNTB *100 -CYCLECOUN -TA *95) / (CYCLECOUNTB - CYCLECOUNTA)£¬±äÁ¿ÀàÐÍ£ºU16 xdata£¨ÊäÈ룩 90 U16 xdata E2ui_CYCLECOUNTB; //µ÷½ÚFCCµÄË¥¼õ½×¶Î¶þ£ºÆðʼѭ»·´ÎÊý£¬±äÁ¿ÀàÐÍ£ºU16 xdata£¨ÊäÈ룩 91 U16 xdata E2ui_CYCLECOUNTB_K; //µ÷½ÚFCCµÄË¥¼õ½×¶Î¶þ£ºË¥¼õбÂÊ=(CYCLECOUNTC -CYCLECOUNTB)/10£¬±äÁ¿ÀàÐÍ£ -ºU16 xdata£¨ÊäÈ룩 92 U16 xdata E2ui_CYCLECOUNTB_B; //µ÷½ÚFCCµÄË¥¼õ½×¶Î¶þ£ºË¥¼õ½Ø¾à=(CYCLECOUNTC *95 -CYCLECOUNTB *85) /(CYC -LECOUNTC -CYCLECOUNTB)£¬±äÁ¿ÀàÐÍ£ºU16 xdata£¨ÊäÈ룩 93 U16 xdata E2ui_CYCLECOUNTC; //µ÷½ÚFCCµÄË¥¼õ½×¶ÎÈý£ºÆðʼѭ»·´ÎÊý£¬±äÁ¿ÀàÐÍ£ºU16 xdata£¨ÊäÈ룩 94 U16 xdata E2uiUpdateCycleCount; //ÉϴθüÐÂÈÝÁ¿ºó£¬ÐèÔٴθüÐÂÈÝÁ¿µÄÑ­»·´ÎÊý£¬±äÁ¿ÀàÐÍ£ºU16 xdata£¨ÊäÈ룩 95 96 S32 xdata Info_slCurr; //¾­ÁãµçÁ÷´°¿Ú¹ýÂ˺óÓÃÓÚÅжϳä·Åµç״̬µÄÖ÷¿Ø»Ø·µçÁ÷£¨mA£©£¬±äÁ¿ÀàÐÍ£ºS32 xdata£¨ -ÊäÈ룩 97 U16 xdata Info_uiTemp; //¶ÔÍâÏÔʾµÄµçоζȣ¬ÊýÖµ = X£¨¶È£©¡Á10 + 2731£¬±äÁ¿ÀàÐÍ£ºU16 xdata£¨ÊäÈ룩 98 U32 xdata Info_ulVoltage; //µçо×ܵçѹ£ºU32 xdata£¨ÊäÈ룩 99 100 U16 data uiCellVmaxG; //µ±Ç°µçѹ×î¸ßµÄµçоµçѹ£¬±äÁ¿ÀàÐÍ£ºU16 data£¨ÊäÈ룩 101 U16 data uiCellVminG; //µ±Ç°µçѹ×îµÍµÄµçоµçѹ£¬±äÁ¿ÀàÐÍ£ºU16 data£¨ÊäÈ룩 102 //U8 data ucCellNum; //µçо´®Êý£¬±äÁ¿ÀàÐÍ£ºU8 data£¨ÊäÈ룩 103 //S32 xdata slCadcCurAverage; //ÓÃÓÚ¿âÂ×»ý·ÖµÄƽ¾ùµçÁ÷£¨Ö÷¿Ø³ä·Åµç»Ø·£©£¬±äÁ¿ÀàÐÍ£ºS32 xdata£¨ÊäÈ룩 C51 COMPILER V9.01 GASGAUGEINTER_V4_13 02/19/2025 10:42:28 PAGE 3 104 S32 xdata slAdcCur2; //ÓÃÓÚ¿âÂ×»ý·ÖµÄƽ¾ùµçÁ÷£¨¸¨¿Ø·Åµç»Ø·£¬ÈçûÓпÉÒÔºãΪ0£©£¬±äÁ¿ÀàÐÍ£ºS32 xdata£¨ÊäÈ -룩 105 S16 xdata siCurCompens; //ϵͳ¹¦ºÄµçÁ÷²¹³¥£¨Ô¤Áô£©£¬¿ÉÒÔºãΪ0£¬±äÁ¿ÀàÐÍ£ºU16 xdata£¨ÊäÈ룩 106 //***************************************************************** 107 108 /************************************************************************************************* 109 * º¯ÊýÃû: GasGaugeVarIn 110 * ²Î Êý: ÎÞ 111 * ·µ»ØÖµ: ÎÞ 112 * Ãè Êö: Íⲿֵ¸³¸øÈÝÁ¿¼ÆÏà¹Ø±äÁ¿£¬Ã¿¸öÈÝÁ¿¼Æ¹¦Äܺ¯ÊýÖ´ÐÐʱ¾ùÔÚµÚÒ»²½µ÷Óøýӿں¯Êý 113 *************************************************************************************************/ 114 void GasGaugeVarIn(void) 115 { 116 1 BOOL eabak; 117 1 118 1 eabak = EA; 119 1 IrqDis(); 120 1 Info_uiRSOC = Info.uiRSOC; 121 1 Info_ulFCC = Info.ulFCC; 122 1 Info_ulRC = Info.ulRC; 123 1 Info_uiCycleCount = Info.uiCycleCount; 124 1 Info_slCurr = Info.slCurr; 125 1 Info_uiTemp = Info.uiTS[0]; 126 1 Info_ulVoltage = Info.ulVoltage; 127 1 uiCellVmaxG = uiCellVmax; 128 1 uiCellVminG = uiCellVmin; 129 1 130 1 slAdcCur2 = 0; 131 1 siCurCompens = 0; 132 1 133 1 EA = eabak; 134 1 135 1 E2ucInitSocDif = 30; 136 1 E2ucInitUpSoc = 90; 137 1 E2uiDsgAdjLowTemp = (10*10 + 2731); 138 1 E2slDsgAdjMaxCurr = -35000; 139 1 E2ucDsgAdjLowFlg = 0; 140 1 E2ucDsgAdjLowSoc = 1; 141 1 E2ucChgAdjRatio = 20; 142 1 E2uiTempFCC_K1 = 16000; 143 1 E2uiTempFCC_K2 = 17; 144 1 E2uiTempFCC_B = 1570; 145 1 E2ucFullDsgDelay = 60; 146 1 E2uiDsgCorrectVol = E2uiVOC[0] - 200; 147 1 E2ucDsgCorrectSOC = 15; 148 1 E2ucDsgVolDet = 10; 149 1 150 1 E2uiChgCorrectVol = E2uiVOC[9]; 151 1 E2ucChgCorrectSOC = 90; 152 1 E2ulChgerEndVol = 4500 * ucCellNum; 153 1 E2ulLoadEndVol = 3000 * ucCellNum; 154 1 E2ucChgerEndDelay = 60; 155 1 E2ucChg100Ratio = 20; 156 1 157 1 E2ucChgCurRatio = 15; 158 1 E2ucChgChangeSocDif = 20; 159 1 E2ucChgChangeSocRatio = 10; 160 1 161 1 E2ulIdleSocTimes = 40; 162 1 163 1 E2ucFccUpdatePercent = 30; 164 1 E2uiChgEndTemp = (15*10 + 2731); C51 COMPILER V9.01 GASGAUGEINTER_V4_13 02/19/2025 10:42:28 PAGE 4 165 1 E2uiDsgEndTemp = (15*10 + 2731); 166 1 167 1 E2ui_CYCLECOUNTA = 50; 168 1 E2ui_CYCLECOUNTA_K = 5; 169 1 E2ui_CYCLECOUNTA_B = 105; 170 1 E2ui_CYCLECOUNTB = 100; 171 1 E2ui_CYCLECOUNTB_K = 30; 172 1 E2ui_CYCLECOUNTB_B = 98; 173 1 E2ui_CYCLECOUNTC = 400; 174 1 E2uiUpdateCycleCount = 75; 175 1 176 1 177 1 if( bOV ) 178 1 { 179 2 E2ucSOC = 100; 180 2 E2ulDfRC = E2ulFCC; 181 2 182 2 Info_uiRSOC = 100; 183 2 Info_ulRC = E2ulFCC; 184 2 185 2 Info.uiRSOC = 100; 186 2 Info.ulRC = E2ulFCC; 187 2 } 188 1 189 1 190 1 if( bUV ) 191 1 { 192 2 E2ucSOC = 0; 193 2 E2ulDfRC = 0; 194 2 195 2 Info_uiRSOC = 0; 196 2 Info_ulRC = 0; 197 2 198 2 Info.uiRSOC = 0; 199 2 Info.ulRC = 0; 200 2 } 201 1 //} 202 1 // bAFE_SC = bSC; 203 1 } 204 205 /************************************************************************************************* 206 * º¯ÊýÃû: GasGaugeVarOut 207 * ²Î Êý: ÎÞ 208 * ·µ»ØÖµ: ÎÞ 209 * Ãè Êö: ÈÝÁ¿¼ÆÏà¹Ø±äÁ¿¸³¸øÍⲿֵ£¬Ã¿¸öÈÝÁ¿¼Æ¹¦Äܺ¯ÊýÖ´ÐÐʱ¾ùÔÚ×îºóÒ»²½µ÷Óøýӿں¯Êý 210 *************************************************************************************************/ 211 void GasGaugeVarOut(void) 212 { 213 1 BOOL eabak; 214 1 215 1 eabak = EA; 216 1 IrqDis(); 217 1 Info.uiRSOC = Info_uiRSOC; 218 1 Info.ulFCC = Info_ulFCC; 219 1 Info.ulRC = Info_ulRC; 220 1 Info.uiCycleCount = Info_uiCycleCount; 221 1 bVDQ = bVDQFlg; 222 1 bFC = bCHGEndFlg; 223 1 bFD = E2ucDsgEndFlg; 224 1 EA = eabak; 225 1 226 1 if( bOV ) C51 COMPILER V9.01 GASGAUGEINTER_V4_13 02/19/2025 10:42:28 PAGE 5 227 1 { 228 2 E2ucSOC = 100; 229 2 E2ulDfRC = E2ulFCC; 230 2 231 2 Info_uiRSOC = 100; 232 2 Info_ulRC = E2ulFCC; 233 2 234 2 Info.uiRSOC = 100; 235 2 Info.ulRC = E2ulFCC; 236 2 } 237 1 238 1 239 1 if( bUV ) 240 1 { 241 2 E2ucSOC = 0; 242 2 E2ulDfRC = 0; 243 2 244 2 Info_uiRSOC = 0; 245 2 Info_ulRC = 0; 246 2 247 2 Info.uiRSOC = 0; 248 2 Info.ulRC = 0; 249 2 } 250 1 //} 251 1 // bAFE_SC = bSC; 252 1 } MODULE INFORMATION: STATIC OVERLAYABLE CODE SIZE = 764 ---- CONSTANT SIZE = ---- ---- XDATA SIZE = 103 ---- PDATA SIZE = ---- ---- DATA SIZE = 4 ---- IDATA SIZE = ---- ---- BIT SIZE = ---- 2 END OF MODULE INFORMATION. C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)