#include "SEG_DISPLAY\SEG_DISPLAY.h" #include "GPIO_USER\GpioUser.h" #include "Application.h" #define Clr_Bit(p, b) (p) &= (~(1u << (b))) #define Set_Bit(p, b) (p) |= (1u << (b)) #define Bit_Is_Set(p, b) ((p) & (1u << (b))) #define Bit_Is_Clr(p, b) (!((p) & (1u << (b)))) uint8_t DTC_DISCount = 0; uint32_t Current_DTC_CODE = 0; uint32_t Current_DTC_CODE_BACK = 0; uint8_t DTC_DISTimer = 0; /*数字显示数组*/ /*0, 1 2 3 4 5 6 7 8 9 null - P A b C d E F*/ const uint8_t SEG_DISPLAY_NUMBER0[] = {0x3Fu, 0x06u, 0x5Bu, 0x4Fu, 0x66u, 0x6Du, 0x7Du, 0x07u, 0x7Fu, 0x6Fu, 0x00, 0x40, 0x73, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71}; const uint8_t SEG_UNDISPLAY_NUMBER0[] = {0x00u, 0x06u, 0x5Bu, 0x4Fu, 0x66u, 0x6Du, 0x7Du, 0x07u, 0x7Fu, 0x6Fu}; void SEG_SET_DTC_NUM(uint32_t num) { uint32_t Num = 0; uint8_t m8 = 0; Num = (num & 0xFF000000) >> 24; m8 = SEG_DISPLAY_NUMBER0[Num]; if (Bit_Is_Set(m8, 0)) { IC1_SEG064 = IC_SEG_ON; } else { IC1_SEG064 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC1_SEG063 = IC_SEG_ON; } else { IC1_SEG063 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC1_SEG061 = IC_SEG_ON; } else { IC1_SEG061 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC1_SEG067 = IC_SEG_ON; } else { IC1_SEG067 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC1_SEG066 = IC_SEG_ON; } else { IC1_SEG066 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC1_SEG065 = IC_SEG_ON; } else { IC1_SEG065 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC1_SEG062 = IC_SEG_ON; } else { IC1_SEG062 = IC_SEG_OFF; } Num = (num & 0xFF0000) >> 16; m8 = SEG_DISPLAY_NUMBER0[Num]; if (Bit_Is_Set(m8, 0)) { IC1_SEG057 = IC_SEG_ON; } else { IC1_SEG057 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC1_SEG056 = IC_SEG_ON; } else { IC1_SEG056 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC1_SEG054 = IC_SEG_ON; } else { IC1_SEG054 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC1_SEG060 = IC_SEG_ON; } else { IC1_SEG060 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC1_SEG059 = IC_SEG_ON; } else { IC1_SEG059 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC1_SEG058 = IC_SEG_ON; } else { IC1_SEG058 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC1_SEG055 = IC_SEG_ON; } else { IC1_SEG055 = IC_SEG_OFF; } Num = (num & 0xFF00) >> 8; m8 = SEG_DISPLAY_NUMBER0[Num]; if (Bit_Is_Set(m8, 0)) { IC1_SEG050 = IC_SEG_ON; } else { IC1_SEG050 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC1_SEG049 = IC_SEG_ON; } else { IC1_SEG049 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC1_SEG047 = IC_SEG_ON; } else { IC1_SEG047 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC1_SEG053 = IC_SEG_ON; } else { IC1_SEG053 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC1_SEG052 = IC_SEG_ON; } else { IC1_SEG052 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC1_SEG051 = IC_SEG_ON; } else { IC1_SEG051 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC1_SEG048 = IC_SEG_ON; } else { IC1_SEG048 = IC_SEG_OFF; } Num = num & 0xFF; m8 = SEG_DISPLAY_NUMBER0[Num]; if (Bit_Is_Set(m8, 0)) { IC1_SEG042 = IC_SEG_ON; } else { IC1_SEG042 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC1_SEG041 = IC_SEG_ON; } else { IC1_SEG041 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC1_SEG039 = IC_SEG_ON; } else { IC1_SEG039 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC1_SEG038 = IC_SEG_ON; } else { IC1_SEG038 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC1_SEG044 = IC_SEG_ON; } else { IC1_SEG044 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC1_SEG043 = IC_SEG_ON; } else { IC1_SEG043 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC1_SEG040 = IC_SEG_ON; } else { IC1_SEG040 = IC_SEG_OFF; } } /**@brief 指示灯显示函数 * @param[in] m_Flag 是否显示 -1 显示 -0 不显示 */ void SEG_SET_LED_STS(uint8_t LED_NUM, uint8_t m_Flag) { uint8_t Flag; uint8_t Num; if (m_Flag == 0u) { Flag = IC_SEG_OFF; } else { Flag = IC_SEG_ON; } switch (LED_NUM) { case em_SEG_High_Beam: IC2_SEG052 = Flag; break; case em_SEG_FAULT_ELECTROSPRAY: IC1_SEG078 = Flag; break; case em_SEG_ABS: IC1_SEG143 = Flag; break; case em_SEG_Oil_Pressure: IC2_SEG103 = Flag; break; case em_SEG_Bluetooth: IC2_SEG129 = Flag; break; case em_SEG_TCS: IC2_SEG128 = Flag; break; case em_SEG_Auto_Start_Stop: IC2_SEG092 = Flag; break; //case em_SEG_Keys: // IC2_SEG130 = Flag; // break; case em_SEG_Upkeep: IC1_SEG077 = Flag; break; case em_SEG_Low_Batt_Vol: IC1_SEG102 = Flag; break; case em_SEG_Lateral_Strut: IC1_SEG119 = Flag; break; case em_SEG_Tire_Pressure_Alarm: IC2_SEG127 = Flag; break; case em_SEG_Turn_Left: IC2_SEG053 = Flag; break; case em_SEG_Turn_Right: IC1_SEG142 = Flag; break; case em_SEG_Coolant: IC1_SEG111 = Flag; break; case em_SEG_Fuel: IC2_SEG099 = Flag; break; default: break; } } /**@brief 导航显示函数 * @param[in] m_Flag 导航是否开启显示 -1 显示 -0 不显示 * @param[in] m_Code 导航指示编码 * @param[in] m_Mileage 剩余距离 */ void SEG_SET_Navigation_STS(uint8_t m_Flag, uint8_t m_Code, uint32_t m_Mileage) { uint32_t Num = 0; uint8_t m8 = 0; if ((ClearODO_Flag == 1) || (Common_GetIgnOnTime() < CHEAKTIME)) { IC2_SEG164 = IC_SEG_ON; IC2_SEG165 = IC_SEG_ON; IC2_SEG169 = IC_SEG_ON; IC2_SEG170 = IC_SEG_ON; IC2_SEG166 = IC_SEG_ON; IC2_SEG167 = IC_SEG_ON; IC2_SEG168 = IC_SEG_ON; IC2_SEG163 = IC_SEG_ON; IC2_SEG171 = IC_SEG_ON; IC2_SEG172 = IC_SEG_ON; IC2_SEG162 = IC_SEG_ON; IC2_SEG161 = IC_SEG_ON; IC2_SEG160 = IC_SEG_ON; LED_Driver_Channel_Set(LampChannel_0, LampCh0_10_Navigator1, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_19_Navigator2, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_17_Length2, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_18_Length1, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_14_ARRIVED_SERVICE_AREA, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_15_ARRIVED_TOLLGATE, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_16_ARRIVED_TUNNEL, LED_ON); } else { switch (m_Code) { case EC_NAVI_ICON_LEFT: case EC_NAVI_ICON_ENTRY_RING_LEFT: case EC_NAVI_ICON_ENTRY_LEFT_RING_LEFT: IC2_SEG164 = IC_SEG_OFF; IC2_SEG165 = IC_SEG_OFF; IC2_SEG169 = IC_SEG_ON; IC2_SEG170 = IC_SEG_ON; IC2_SEG166 = IC_SEG_OFF; IC2_SEG167 = IC_SEG_ON; IC2_SEG168 = IC_SEG_OFF; IC2_SEG163 = IC_SEG_OFF; IC2_SEG171 = IC_SEG_OFF; IC2_SEG172 = IC_SEG_OFF; IC2_SEG162 = IC_SEG_OFF; IC2_SEG161 = IC_SEG_OFF; IC2_SEG160 = IC_SEG_OFF; LED_Driver_Channel_Set(LampChannel_0, LampCh0_10_Navigator1, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_19_Navigator2, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_14_ARRIVED_SERVICE_AREA, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_15_ARRIVED_TOLLGATE, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_16_ARRIVED_TUNNEL, LED_OFF); break; case EC_NAVI_ICON_RIGHT: case EC_NAVI_ICON_ENTRY_RING_RIGHT: case EC_NAVI_ICON_ENTRY_LEFT_RING_RIGHT: IC2_SEG164 = IC_SEG_OFF; IC2_SEG165 = IC_SEG_OFF; IC2_SEG169 = IC_SEG_ON; IC2_SEG170 = IC_SEG_ON; IC2_SEG166 = IC_SEG_OFF; IC2_SEG167 = IC_SEG_OFF; IC2_SEG168 = IC_SEG_OFF; IC2_SEG163 = IC_SEG_OFF; IC2_SEG171 = IC_SEG_ON; IC2_SEG172 = IC_SEG_OFF; IC2_SEG162 = IC_SEG_OFF; IC2_SEG161 = IC_SEG_OFF; IC2_SEG160 = IC_SEG_OFF; LED_Driver_Channel_Set(LampChannel_0, LampCh0_10_Navigator1, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_19_Navigator2, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_14_ARRIVED_SERVICE_AREA, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_15_ARRIVED_TOLLGATE, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_16_ARRIVED_TUNNEL, LED_OFF); break; case EC_NAVI_ICON_LEFT_FRONT: case EC_NAVI_ICON_MERGE_LEFT: case EC_NAVI_ICON_ROTARY_SLIGHT_LEFT: IC2_SEG164 = IC_SEG_OFF; IC2_SEG165 = IC_SEG_ON; IC2_SEG169 = IC_SEG_ON; IC2_SEG170 = IC_SEG_ON; IC2_SEG166 = IC_SEG_ON; IC2_SEG167 = IC_SEG_OFF; IC2_SEG168 = IC_SEG_OFF; IC2_SEG163 = IC_SEG_OFF; IC2_SEG171 = IC_SEG_OFF; IC2_SEG172 = IC_SEG_OFF; IC2_SEG162 = IC_SEG_OFF; IC2_SEG161 = IC_SEG_OFF; IC2_SEG160 = IC_SEG_OFF; LED_Driver_Channel_Set(LampChannel_0, LampCh0_10_Navigator1, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_19_Navigator2, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_14_ARRIVED_SERVICE_AREA, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_15_ARRIVED_TOLLGATE, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_16_ARRIVED_TUNNEL, LED_OFF); break; case EC_NAVI_ICON_RIGHT_FRONT: case EC_NAVI_ICON_MERGE_RIGHT: case EC_NAVI_ICON_ROTARY_SLIGHT_RIGHT: IC2_SEG164 = IC_SEG_OFF; IC2_SEG165 = IC_SEG_ON; IC2_SEG169 = IC_SEG_ON; IC2_SEG170 = IC_SEG_ON; IC2_SEG166 = IC_SEG_OFF; IC2_SEG167 = IC_SEG_OFF; IC2_SEG168 = IC_SEG_OFF; IC2_SEG163 = IC_SEG_ON; IC2_SEG171 = IC_SEG_OFF; IC2_SEG172 = IC_SEG_OFF; IC2_SEG162 = IC_SEG_OFF; IC2_SEG161 = IC_SEG_OFF; IC2_SEG160 = IC_SEG_OFF; LED_Driver_Channel_Set(LampChannel_0, LampCh0_10_Navigator1, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_19_Navigator2, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_14_ARRIVED_SERVICE_AREA, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_15_ARRIVED_TOLLGATE, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_16_ARRIVED_TUNNEL, LED_OFF); break; case EC_NAVI_ICON_LEFT_BACK: case EC_NAVI_ICON_ROTARY_SHARP_LEFT: IC2_SEG164 = IC_SEG_OFF; IC2_SEG165 = IC_SEG_OFF; IC2_SEG169 = IC_SEG_OFF; IC2_SEG170 = IC_SEG_ON; IC2_SEG166 = IC_SEG_OFF; IC2_SEG167 = IC_SEG_OFF; IC2_SEG168 = IC_SEG_ON; IC2_SEG163 = IC_SEG_OFF; IC2_SEG171 = IC_SEG_OFF; IC2_SEG172 = IC_SEG_OFF; IC2_SEG162 = IC_SEG_OFF; IC2_SEG161 = IC_SEG_OFF; IC2_SEG160 = IC_SEG_OFF; LED_Driver_Channel_Set(LampChannel_0, LampCh0_10_Navigator1, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_19_Navigator2, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_14_ARRIVED_SERVICE_AREA, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_15_ARRIVED_TOLLGATE, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_16_ARRIVED_TUNNEL, LED_OFF); break; case EC_NAVI_ICON_RIGHT_BACK: case EC_NAVI_ICON_ROTARY_SHARP_RIGHT: IC2_SEG164 = IC_SEG_OFF; IC2_SEG165 = IC_SEG_OFF; IC2_SEG169 = IC_SEG_OFF; IC2_SEG170 = IC_SEG_ON; IC2_SEG166 = IC_SEG_OFF; IC2_SEG167 = IC_SEG_OFF; IC2_SEG168 = IC_SEG_OFF; IC2_SEG163 = IC_SEG_OFF; IC2_SEG171 = IC_SEG_OFF; IC2_SEG172 = IC_SEG_ON; IC2_SEG162 = IC_SEG_OFF; IC2_SEG161 = IC_SEG_OFF; IC2_SEG160 = IC_SEG_OFF; LED_Driver_Channel_Set(LampChannel_0, LampCh0_10_Navigator1, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_19_Navigator2, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_14_ARRIVED_SERVICE_AREA, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_15_ARRIVED_TOLLGATE, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_16_ARRIVED_TUNNEL, LED_OFF); break; case EC_NAVI_ICON_STRAIGHT: case EC_NAVI_ICON_ENTRY_RING_CONTINUE: case EC_NAVI_ICON_ENTRY_LEFT_RING_CONTINUE: IC2_SEG164 = IC_SEG_ON; IC2_SEG165 = IC_SEG_ON; IC2_SEG169 = IC_SEG_ON; IC2_SEG170 = IC_SEG_ON; IC2_SEG166 = IC_SEG_OFF; IC2_SEG167 = IC_SEG_OFF; IC2_SEG168 = IC_SEG_OFF; IC2_SEG163 = IC_SEG_OFF; IC2_SEG171 = IC_SEG_OFF; IC2_SEG172 = IC_SEG_OFF; IC2_SEG162 = IC_SEG_OFF; IC2_SEG161 = IC_SEG_OFF; IC2_SEG160 = IC_SEG_OFF; LED_Driver_Channel_Set(LampChannel_0, LampCh0_10_Navigator1, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_19_Navigator2, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_14_ARRIVED_SERVICE_AREA, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_15_ARRIVED_TOLLGATE, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_16_ARRIVED_TUNNEL, LED_OFF); break; case EC_NAVI_ICON_LEFT_TURN_AROUND: case EC_NAVI_ICON_ENTRY_RING_UTURN: IC2_SEG164 = IC_SEG_OFF; IC2_SEG165 = IC_SEG_OFF; IC2_SEG169 = IC_SEG_OFF; IC2_SEG170 = IC_SEG_ON; IC2_SEG166 = IC_SEG_OFF; IC2_SEG167 = IC_SEG_OFF; IC2_SEG168 = IC_SEG_ON; IC2_SEG163 = IC_SEG_OFF; IC2_SEG171 = IC_SEG_OFF; IC2_SEG172 = IC_SEG_OFF; IC2_SEG162 = IC_SEG_OFF; IC2_SEG161 = IC_SEG_OFF; IC2_SEG160 = IC_SEG_OFF; LED_Driver_Channel_Set(LampChannel_0, LampCh0_10_Navigator1, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_19_Navigator2, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_14_ARRIVED_SERVICE_AREA, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_15_ARRIVED_TOLLGATE, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_16_ARRIVED_TUNNEL, LED_OFF); break; case EC_NAVI_ICON_UTURN_RIGHT: case EC_NAVI_ICON_ENTRY_LEFT_RING_UTURN: IC2_SEG164 = IC_SEG_OFF; IC2_SEG165 = IC_SEG_OFF; IC2_SEG169 = IC_SEG_OFF; IC2_SEG170 = IC_SEG_ON; IC2_SEG166 = IC_SEG_OFF; IC2_SEG167 = IC_SEG_OFF; IC2_SEG168 = IC_SEG_OFF; IC2_SEG163 = IC_SEG_OFF; IC2_SEG171 = IC_SEG_OFF; IC2_SEG172 = IC_SEG_ON; IC2_SEG162 = IC_SEG_OFF; IC2_SEG161 = IC_SEG_OFF; IC2_SEG160 = IC_SEG_OFF; LED_Driver_Channel_Set(LampChannel_0, LampCh0_10_Navigator1, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_19_Navigator2, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_14_ARRIVED_SERVICE_AREA, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_15_ARRIVED_TOLLGATE, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_16_ARRIVED_TUNNEL, LED_OFF); break; case EC_NAVI_ICON_SPECIAL_CONTINUE: IC2_SEG164 = IC_SEG_ON; IC2_SEG165 = IC_SEG_ON; IC2_SEG169 = IC_SEG_ON; IC2_SEG170 = IC_SEG_OFF; IC2_SEG166 = IC_SEG_OFF; IC2_SEG167 = IC_SEG_OFF; IC2_SEG168 = IC_SEG_OFF; IC2_SEG163 = IC_SEG_OFF; IC2_SEG171 = IC_SEG_OFF; IC2_SEG172 = IC_SEG_OFF; IC2_SEG162 = IC_SEG_OFF; IC2_SEG161 = IC_SEG_OFF; IC2_SEG160 = IC_SEG_OFF; LED_Driver_Channel_Set(LampChannel_0, LampCh0_10_Navigator1, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_19_Navigator2, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_14_ARRIVED_SERVICE_AREA, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_15_ARRIVED_TOLLGATE, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_16_ARRIVED_TUNNEL, LED_OFF); break; case EC_NAVI_ICON_ARRIVED_SERVICE_AREA: IC2_SEG164 = IC_SEG_OFF; IC2_SEG165 = IC_SEG_OFF; IC2_SEG169 = IC_SEG_OFF; IC2_SEG170 = IC_SEG_OFF; IC2_SEG166 = IC_SEG_OFF; IC2_SEG167 = IC_SEG_OFF; IC2_SEG168 = IC_SEG_OFF; IC2_SEG163 = IC_SEG_OFF; IC2_SEG171 = IC_SEG_OFF; IC2_SEG172 = IC_SEG_OFF; IC2_SEG162 = IC_SEG_OFF; IC2_SEG161 = IC_SEG_OFF; IC2_SEG160 = IC_SEG_ON; LED_Driver_Channel_Set(LampChannel_0, LampCh0_10_Navigator1, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_19_Navigator2, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_14_ARRIVED_SERVICE_AREA, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_15_ARRIVED_TOLLGATE, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_16_ARRIVED_TUNNEL, LED_OFF); break; case EC_NAVI_ICON_ARRIVED_TOLLGATE: IC2_SEG164 = IC_SEG_OFF; IC2_SEG165 = IC_SEG_OFF; IC2_SEG169 = IC_SEG_OFF; IC2_SEG170 = IC_SEG_OFF; IC2_SEG166 = IC_SEG_OFF; IC2_SEG167 = IC_SEG_OFF; IC2_SEG168 = IC_SEG_OFF; IC2_SEG163 = IC_SEG_OFF; IC2_SEG171 = IC_SEG_OFF; IC2_SEG172 = IC_SEG_OFF; IC2_SEG162 = IC_SEG_OFF; IC2_SEG161 = IC_SEG_ON; IC2_SEG160 = IC_SEG_OFF; LED_Driver_Channel_Set(LampChannel_0, LampCh0_10_Navigator1, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_19_Navigator2, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_14_ARRIVED_SERVICE_AREA, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_15_ARRIVED_TOLLGATE, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_16_ARRIVED_TUNNEL, LED_OFF); break; case EC_NAVI_ICON_ARRIVED_TUNNEL: IC2_SEG164 = IC_SEG_OFF; IC2_SEG165 = IC_SEG_OFF; IC2_SEG169 = IC_SEG_OFF; IC2_SEG170 = IC_SEG_OFF; IC2_SEG166 = IC_SEG_OFF; IC2_SEG167 = IC_SEG_OFF; IC2_SEG168 = IC_SEG_OFF; IC2_SEG163 = IC_SEG_OFF; IC2_SEG171 = IC_SEG_OFF; IC2_SEG172 = IC_SEG_OFF; IC2_SEG162 = IC_SEG_ON; IC2_SEG161 = IC_SEG_OFF; IC2_SEG160 = IC_SEG_OFF; LED_Driver_Channel_Set(LampChannel_0, LampCh0_10_Navigator1, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_19_Navigator2, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_14_ARRIVED_SERVICE_AREA, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_15_ARRIVED_TOLLGATE, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_16_ARRIVED_TUNNEL, LED_ON); break; default: IC2_SEG164 = IC_SEG_OFF; IC2_SEG165 = IC_SEG_OFF; IC2_SEG169 = IC_SEG_OFF; IC2_SEG170 = IC_SEG_OFF; IC2_SEG166 = IC_SEG_OFF; IC2_SEG167 = IC_SEG_OFF; IC2_SEG168 = IC_SEG_OFF; IC2_SEG163 = IC_SEG_OFF; IC2_SEG171 = IC_SEG_OFF; IC2_SEG172 = IC_SEG_OFF; IC2_SEG162 = IC_SEG_OFF; IC2_SEG161 = IC_SEG_OFF; IC2_SEG160 = IC_SEG_OFF; LED_Driver_Channel_Set(LampChannel_0, LampCh0_10_Navigator1, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_19_Navigator2, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_14_ARRIVED_SERVICE_AREA, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_15_ARRIVED_TOLLGATE, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_16_ARRIVED_TUNNEL, LED_OFF); break; } } if ((m_Flag && BlueTooth.BLE_St) || (Common_GetIgnOnTime() < CHEAKTIME) || ClearODO_Flag == 1) { LED_Driver_Channel_Set(LampChannel_0, LampCh0_17_Length2, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_18_Length1, LED_ON); if ((ClearODO_Flag == 1) || (Common_GetIgnOnTime() < CHEAKTIME)) { IC1_SEG030 = IC_SEG_ON; IC1_SEG130 = IC_SEG_ON; IC1_SEG129 = IC_SEG_ON; } else { if (m_Mileage < 1000) { IC1_SEG030 = IC_SEG_OFF; IC1_SEG130 = IC_SEG_ON; IC1_SEG129 = IC_SEG_OFF; } else { IC1_SEG030 = IC_SEG_ON; IC1_SEG130 = IC_SEG_OFF; IC1_SEG129 = IC_SEG_ON; } } { if (m_Mileage < 1000) { Num = m_Mileage / 1000; } else { Num = m_Mileage / 100000; } if ((ClearODO_Flag == 1) || (Common_GetIgnOnTime() < CHEAKTIME)) { m8 = SEG_DISPLAY_NUMBER0[Num]; } else { m8 = SEG_UNDISPLAY_NUMBER0[Num]; } if (Bit_Is_Set(m8, 0)) { IC1_SEG135 = IC_SEG_ON; } else { IC1_SEG135 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC1_SEG015 = IC_SEG_ON; } else { IC1_SEG015 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC1_SEG013 = IC_SEG_ON; } else { IC1_SEG013 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC1_SEG012 = IC_SEG_ON; } else { IC1_SEG012 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC1_SEG011 = IC_SEG_ON; } else { IC1_SEG011 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC1_SEG010 = IC_SEG_ON; } else { IC1_SEG010 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC1_SEG014 = IC_SEG_ON; } else { IC1_SEG014 = IC_SEG_OFF; } if (m_Mileage < 1000) { Num = m_Mileage / 100; if ((ClearODO_Flag == 1) || (Common_GetIgnOnTime() < CHEAKTIME)) { m8 = SEG_DISPLAY_NUMBER0[Num]; } else { m8 = SEG_UNDISPLAY_NUMBER0[Num]; } } else { Num = ((m_Mileage + 50) / 100) % 1000 / 100; if ((m_Mileage >= 10000) || (ClearODO_Flag == 1) || (Common_GetIgnOnTime() < CHEAKTIME)) { m8 = SEG_DISPLAY_NUMBER0[Num]; } else { m8 = SEG_UNDISPLAY_NUMBER0[Num]; } } if (Bit_Is_Set(m8, 0)) { IC1_SEG134 = IC_SEG_ON; } else { IC1_SEG134 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC1_SEG021 = IC_SEG_ON; } else { IC1_SEG021 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC1_SEG019 = IC_SEG_ON; } else { IC1_SEG019 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC1_SEG018 = IC_SEG_ON; } else { IC1_SEG018 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC1_SEG017 = IC_SEG_ON; } else { IC1_SEG017 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC1_SEG016 = IC_SEG_ON; } else { IC1_SEG016 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC1_SEG020 = IC_SEG_ON; } else { IC1_SEG020 = IC_SEG_OFF; } if (m_Mileage < 1000) { Num = (m_Mileage / 10) % 10; if ((m_Mileage >= 10) || (ClearODO_Flag == 1) || (Common_GetIgnOnTime() < CHEAKTIME)) { m8 = SEG_DISPLAY_NUMBER0[Num]; } else { m8 = SEG_UNDISPLAY_NUMBER0[Num]; } } else { Num = (((m_Mileage + 50) / 100) / 10) % 10; m8 = SEG_DISPLAY_NUMBER0[Num]; } if (Bit_Is_Set(m8, 0)) { IC1_SEG133 = IC_SEG_ON; } else { IC1_SEG133 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC1_SEG029 = IC_SEG_ON; } else { IC1_SEG029 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC1_SEG027 = IC_SEG_ON; } else { IC1_SEG027 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC1_SEG026 = IC_SEG_ON; } else { IC1_SEG026 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC1_SEG023 = IC_SEG_ON; } else { IC1_SEG023 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC1_SEG022 = IC_SEG_ON; } else { IC1_SEG022 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC1_SEG028 = IC_SEG_ON; } else { IC1_SEG028 = IC_SEG_OFF; } if (m_Mileage < 1000) { Num = m_Mileage % 10; m8 = SEG_DISPLAY_NUMBER0[Num]; } else { Num = ((m_Mileage + 50) / 100) % 10; m8 = SEG_DISPLAY_NUMBER0[Num]; } if (Bit_Is_Set(m8, 0)) { IC1_SEG132 = IC_SEG_ON; } else { IC1_SEG132 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC1_SEG131 = IC_SEG_ON; } else { IC1_SEG131 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC1_SEG034 = IC_SEG_ON; } else { IC1_SEG034 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC1_SEG033 = IC_SEG_ON; } else { IC1_SEG033 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC1_SEG032 = IC_SEG_ON; } else { IC1_SEG032 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC1_SEG031 = IC_SEG_ON; } else { IC1_SEG031 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC1_SEG035 = IC_SEG_ON; } else { IC1_SEG035 = IC_SEG_OFF; } } } else { LED_Driver_Channel_Set(LampChannel_0, LampCh0_10_Navigator1, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_19_Navigator2, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_17_Length2, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_18_Length1, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_14_ARRIVED_SERVICE_AREA, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_15_ARRIVED_TOLLGATE, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_16_ARRIVED_TUNNEL, LED_OFF); IC1_SEG135 = IC_SEG_OFF; IC1_SEG015 = IC_SEG_OFF; IC1_SEG013 = IC_SEG_OFF; IC1_SEG012 = IC_SEG_OFF; IC1_SEG011 = IC_SEG_OFF; IC1_SEG010 = IC_SEG_OFF; IC1_SEG014 = IC_SEG_OFF; IC1_SEG134 = IC_SEG_OFF; IC1_SEG021 = IC_SEG_OFF; IC1_SEG019 = IC_SEG_OFF; IC1_SEG018 = IC_SEG_OFF; IC1_SEG017 = IC_SEG_OFF; IC1_SEG016 = IC_SEG_OFF; IC1_SEG020 = IC_SEG_OFF; IC1_SEG133 = IC_SEG_OFF; IC1_SEG029 = IC_SEG_OFF; IC1_SEG027 = IC_SEG_OFF; IC1_SEG026 = IC_SEG_OFF; IC1_SEG023 = IC_SEG_OFF; IC1_SEG022 = IC_SEG_OFF; IC1_SEG028 = IC_SEG_OFF; IC1_SEG132 = IC_SEG_OFF; IC1_SEG131 = IC_SEG_OFF; IC1_SEG034 = IC_SEG_OFF; IC1_SEG033 = IC_SEG_OFF; IC1_SEG032 = IC_SEG_OFF; IC1_SEG031 = IC_SEG_OFF; IC1_SEG035 = IC_SEG_OFF; IC1_SEG030 = IC_SEG_OFF; IC1_SEG130 = IC_SEG_OFF; IC1_SEG129 = IC_SEG_OFF; } } /**@brief 燃油表显示函数 * @param[in] m_Flag 段与数字是否显示 -1 显示 -0 不显示 * @param[in] m_SEG 燃油表盘段数0<=m_SEG<=5 */ void SEG_SET_FuelDial(uint8_t m_Flag, uint8_t m_SEG) { if (m_Flag == 1u) { IC2_SEG107 = IC_SEG_ON; IC2_SEG106 = IC_SEG_GREY; IC2_SEG105 = IC_SEG_GREY; IC2_SEG104 = IC_SEG_GREY; IC2_SEG102 = IC_SEG_GREY; IC2_SEG101 = IC_SEG_GREY; if (((Get_Fuel_Sensor_State() == FuelSensorOpenCircuit) || (Get_Fuel_Sensor_State() == FuelSensorShortCircuit)) && (ClearODO_Flag != 1) && (Common_GetIgnOnTime() >= 3000)) { if (FLASH_SYNC_1Hz) { IC2_SEG106 = IC_SEG_ON; IC2_SEG105 = IC_SEG_ON; IC2_SEG104 = IC_SEG_ON; IC2_SEG102 = IC_SEG_ON; IC2_SEG101 = IC_SEG_ON; IC2_SEG108 = IC_SEG_ON; IC2_SEG100 = IC_SEG_ON; } else { IC2_SEG106 = IC_SEG_GREY; IC2_SEG105 = IC_SEG_GREY; IC2_SEG104 = IC_SEG_GREY; IC2_SEG102 = IC_SEG_GREY; IC2_SEG101 = IC_SEG_GREY; IC2_SEG108 = IC_SEG_OFF; IC2_SEG100 = IC_SEG_OFF; } } else { if ((Get_CurFuelSetp() == 0) && (Common_GetIgnOnTime() >= CHEAKTIME)) { if (FLASH_SYNC_1Hz) { IC2_SEG108 = IC_SEG_ON; IC2_SEG100 = IC_SEG_ON; } else { IC2_SEG108 = IC_SEG_OFF; IC2_SEG100 = IC_SEG_OFF; } } else { IC2_SEG108 = IC_SEG_ON; IC2_SEG100 = IC_SEG_ON; } if ((Get_CurFuelSetp() == 1) && (ClearODO_Flag != 1) && (Common_GetIgnOnTime() >= CHEAKTIME)) { IC2_SEG108 = IC_SEG_ON; IC2_SEG100 = IC_SEG_ON; if (FLASH_SYNC_1Hz) { IC2_SEG106 = IC_SEG_ON; } else { IC2_SEG106 = IC_SEG_GREY; } } else { switch (m_SEG) { case 5u: IC2_SEG101 = IC_SEG_ON; case 4u: IC2_SEG102 = IC_SEG_ON; case 3u: IC2_SEG104 = IC_SEG_ON; case 2u: IC2_SEG105 = IC_SEG_ON; case 1u: IC2_SEG106 = IC_SEG_ON; case 0u: break; default: break; } } } } else { IC2_SEG108 = IC_SEG_OFF; IC2_SEG106 = IC_SEG_OFF; IC2_SEG105 = IC_SEG_OFF; IC2_SEG104 = IC_SEG_OFF; IC2_SEG102 = IC_SEG_OFF; IC2_SEG101 = IC_SEG_OFF; IC2_SEG107 = IC_SEG_OFF; IC2_SEG100 = IC_SEG_OFF; } } /**@brief 转速表盘显示函数 * @param[in] m_Flag 段与数字是否显示 -1 显示 -0 不显示 * @param[in] m_SEG 转速表盘段数0<=m_SEG<=24 */ void SEG_SET_EspeedDial(uint8_t m_Flag, uint8_t m_SEG) { if (m_Flag == 1u) { IC2_SEG072 = IC_SEG_ON; IC2_SEG073 = IC_SEG_ON; IC2_SEG074 = IC_SEG_ON; IC2_SEG075 = IC_SEG_ON; IC2_SEG076 = IC_SEG_ON; IC2_SEG079 = IC_SEG_ON; IC2_SEG080 = IC_SEG_ON; IC2_SEG083 = IC_SEG_ON; IC2_SEG084 = IC_SEG_ON; IC2_SEG086 = IC_SEG_ON; IC2_SEG070 = IC_SEG_ON; IC2_SEG087 = IC_SEG_ON; IC2_SEG067 = IC_SEG_ON; IC2_SEG088 = IC_SEG_ON; IC2_SEG064 = IC_SEG_ON; IC2_SEG089 = IC_SEG_ON; IC2_SEG061 = IC_SEG_ON; IC2_SEG090 = IC_SEG_ON; IC2_SEG058 = IC_SEG_ON; IC2_SEG091 = IC_SEG_ON; IC2_SEG055 = IC_SEG_ON; IC1_SEG136 = IC_SEG_ON; IC1_SEG153 = IC_SEG_ON; IC1_SEG137 = IC_SEG_ON; IC1_SEG150 = IC_SEG_ON; IC1_SEG138 = IC_SEG_ON; IC1_SEG139 = IC_SEG_ON; IC1_SEG141 = IC_SEG_ON; IC1_SEG145 = IC_SEG_ON; IC1_SEG146 = IC_SEG_ON; IC1_SEG147 = IC_SEG_ON; IC2_SEG077 = IC_SEG_GREY; IC2_SEG078 = IC_SEG_GREY; IC2_SEG081 = IC_SEG_GREY; IC2_SEG082 = IC_SEG_GREY; IC2_SEG085 = IC_SEG_GREY; IC2_SEG071 = IC_SEG_GREY; IC2_SEG069 = IC_SEG_GREY; IC2_SEG068 = IC_SEG_GREY; IC2_SEG066 = IC_SEG_GREY; IC2_SEG065 = IC_SEG_GREY; IC2_SEG063 = IC_SEG_GREY; IC2_SEG062 = IC_SEG_GREY; IC2_SEG060 = IC_SEG_GREY; IC2_SEG059 = IC_SEG_GREY; IC2_SEG057 = IC_SEG_GREY; IC2_SEG056 = IC_SEG_GREY; IC2_SEG054 = IC_SEG_GREY; IC1_SEG154 = IC_SEG_GREY; IC1_SEG152 = IC_SEG_GREY; IC1_SEG151 = IC_SEG_GREY; IC1_SEG149 = IC_SEG_GREY; IC1_SEG148 = IC_SEG_GREY; IC1_SEG140 = IC_SEG_GREY; IC1_SEG144 = IC_SEG_GREY; switch (m_SEG) { case 24u: IC1_SEG144 = IC_SEG_ON; case 23u: IC1_SEG140 = IC_SEG_ON; case 22u: IC1_SEG148 = IC_SEG_ON; case 21u: IC1_SEG149 = IC_SEG_ON; case 20u: IC1_SEG151 = IC_SEG_ON; case 19u: IC1_SEG152 = IC_SEG_ON; case 18u: IC1_SEG154 = IC_SEG_ON; case 17u: IC2_SEG054 = IC_SEG_ON; case 16u: IC2_SEG056 = IC_SEG_ON; case 15u: IC2_SEG057 = IC_SEG_ON; case 14u: IC2_SEG059 = IC_SEG_ON; case 13u: IC2_SEG060 = IC_SEG_ON; case 12u: IC2_SEG062 = IC_SEG_ON; case 11u: IC2_SEG063 = IC_SEG_ON; case 10u: IC2_SEG065 = IC_SEG_ON; case 9u: IC2_SEG066 = IC_SEG_ON; case 8u: IC2_SEG068 = IC_SEG_ON; case 7u: IC2_SEG069 = IC_SEG_ON; case 6u: IC2_SEG071 = IC_SEG_ON; case 5u: IC2_SEG085 = IC_SEG_ON; case 4u: IC2_SEG082 = IC_SEG_ON; case 3u: IC2_SEG081 = IC_SEG_ON; case 2u: IC2_SEG078 = IC_SEG_ON; case 1u: IC2_SEG077 = IC_SEG_ON; case 0u: break; default: break; } } else { IC2_SEG072 = IC_SEG_OFF; IC2_SEG073 = IC_SEG_OFF; IC2_SEG074 = IC_SEG_OFF; IC2_SEG075 = IC_SEG_OFF; IC2_SEG076 = IC_SEG_OFF; IC2_SEG079 = IC_SEG_OFF; IC2_SEG080 = IC_SEG_OFF; IC2_SEG083 = IC_SEG_OFF; IC2_SEG084 = IC_SEG_OFF; IC2_SEG086 = IC_SEG_OFF; IC2_SEG070 = IC_SEG_OFF; IC2_SEG087 = IC_SEG_OFF; IC2_SEG067 = IC_SEG_OFF; IC2_SEG088 = IC_SEG_OFF; IC2_SEG064 = IC_SEG_OFF; IC2_SEG089 = IC_SEG_OFF; IC2_SEG061 = IC_SEG_OFF; IC2_SEG090 = IC_SEG_OFF; IC2_SEG058 = IC_SEG_OFF; IC2_SEG091 = IC_SEG_OFF; IC2_SEG055 = IC_SEG_OFF; IC1_SEG136 = IC_SEG_OFF; IC1_SEG153 = IC_SEG_OFF; IC1_SEG137 = IC_SEG_OFF; IC1_SEG150 = IC_SEG_OFF; IC1_SEG138 = IC_SEG_OFF; IC1_SEG139 = IC_SEG_OFF; IC1_SEG141 = IC_SEG_OFF; IC1_SEG145 = IC_SEG_OFF; IC1_SEG146 = IC_SEG_OFF; IC1_SEG147 = IC_SEG_OFF; IC2_SEG077 = IC_SEG_OFF; IC2_SEG078 = IC_SEG_OFF; IC2_SEG081 = IC_SEG_OFF; IC2_SEG082 = IC_SEG_OFF; IC2_SEG085 = IC_SEG_OFF; IC2_SEG071 = IC_SEG_OFF; IC2_SEG069 = IC_SEG_OFF; IC2_SEG068 = IC_SEG_OFF; IC2_SEG066 = IC_SEG_OFF; IC2_SEG065 = IC_SEG_OFF; IC2_SEG063 = IC_SEG_OFF; IC2_SEG062 = IC_SEG_OFF; IC2_SEG060 = IC_SEG_OFF; IC2_SEG059 = IC_SEG_OFF; IC2_SEG057 = IC_SEG_OFF; IC2_SEG056 = IC_SEG_OFF; IC2_SEG054 = IC_SEG_OFF; IC1_SEG154 = IC_SEG_OFF; IC1_SEG152 = IC_SEG_OFF; IC1_SEG151 = IC_SEG_OFF; IC1_SEG149 = IC_SEG_OFF; IC1_SEG148 = IC_SEG_OFF; IC1_SEG140 = IC_SEG_OFF; IC1_SEG144 = IC_SEG_OFF; } } /**@brief 水温表显示函数 * @param[in] m_Flag 段与数字是否显示 -1 显示 -0 不显示 * @param[in] m_SEG 水温表盘段数0<=m_SEG<=5 * @param[in] m_num 水温表盘数字显示 * @param[in] m_flash 水温表CH闪烁标志 显示-- */ void SEG_SET_CoolantDial(uint8_t m_Flag, uint8_t m_SEG, uint16_t m_Num, uint8_t m_flash) { uint16_t Num; uint8_t m8; if (m_Flag == 1u) { if ((m_flash == 0) && (ClearODO_Flag != 1) && (Common_GetIgnOnTime() >= CHEAKTIME)) { if (FLASH_SYNC_1Hz) { IC1_SEG110 = IC_SEG_ON; IC1_SEG103 = IC_SEG_ON; } else { IC1_SEG110 = IC_SEG_OFF; IC1_SEG103 = IC_SEG_OFF; } } else { IC1_SEG110 = IC_SEG_ON; IC1_SEG103 = IC_SEG_ON; } IC1_SEG104 = IC_SEG_ON; IC1_SEG114 = IC_SEG_ON; IC1_SEG109 = IC_SEG_GREY; IC1_SEG108 = IC_SEG_GREY; IC1_SEG107 = IC_SEG_GREY; IC1_SEG106 = IC_SEG_GREY; IC1_SEG105 = IC_SEG_GREY; switch (m_SEG) { case 5u: IC1_SEG105 = IC_SEG_ON; case 4u: IC1_SEG106 = IC_SEG_ON; case 3u: IC1_SEG107 = IC_SEG_ON; case 2u: IC1_SEG108 = IC_SEG_ON; case 1u: IC1_SEG109 = IC_SEG_ON; case 0u: break; default: break; } if ((m_flash == 0) && (ClearODO_Flag != 1) && (Common_GetIgnOnTime() >= CHEAKTIME)) { IC1_SEG128 = IC_SEG_OFF; IC1_SEG125 = IC_SEG_OFF; IC1_SEG124 = IC_SEG_OFF; IC1_SEG122 = IC_SEG_OFF; IC1_SEG112 = IC_SEG_OFF; IC1_SEG127 = IC_SEG_OFF; IC1_SEG126 = IC_SEG_OFF; IC1_SEG123 = IC_SEG_ON; IC1_SEG118 = IC_SEG_OFF; IC1_SEG117 = IC_SEG_OFF; IC1_SEG115 = IC_SEG_OFF; IC1_SEG113 = IC_SEG_OFF; IC1_SEG121 = IC_SEG_OFF; IC1_SEG120 = IC_SEG_OFF; IC1_SEG116 = IC_SEG_ON; } else { Num = m_Num / 100u; if (Num == 1u) { IC1_SEG128 = IC_SEG_ON; } else { IC1_SEG128 = IC_SEG_OFF; } Num = (m_Num / 10u) % 10u; if (m_Num >= 100u) { m8 = SEG_DISPLAY_NUMBER0[Num]; } else { m8 = SEG_UNDISPLAY_NUMBER0[Num]; } if (Bit_Is_Set(m8, 0)) { IC1_SEG125 = IC_SEG_ON; } else { IC1_SEG125 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC1_SEG124 = IC_SEG_ON; } else { IC1_SEG124 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC1_SEG122 = IC_SEG_ON; } else { IC1_SEG122 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC1_SEG112 = IC_SEG_ON; } else { IC1_SEG112 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC1_SEG127 = IC_SEG_ON; } else { IC1_SEG127 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC1_SEG126 = IC_SEG_ON; } else { IC1_SEG126 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC1_SEG123 = IC_SEG_ON; } else { IC1_SEG123 = IC_SEG_OFF; } Num = m_Num % 10u; m8 = SEG_DISPLAY_NUMBER0[Num]; if (Bit_Is_Set(m8, 0)) { IC1_SEG118 = IC_SEG_ON; } else { IC1_SEG118 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC1_SEG117 = IC_SEG_ON; } else { IC1_SEG117 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC1_SEG115 = IC_SEG_ON; } else { IC1_SEG115 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC1_SEG113 = IC_SEG_ON; } else { IC1_SEG113 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC1_SEG121 = IC_SEG_ON; } else { IC1_SEG121 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC1_SEG120 = IC_SEG_ON; } else { IC1_SEG120 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC1_SEG116 = IC_SEG_ON; } else { IC1_SEG116 = IC_SEG_OFF; } } } else { IC1_SEG109 = IC_SEG_OFF; IC1_SEG108 = IC_SEG_OFF; IC1_SEG107 = IC_SEG_OFF; IC1_SEG106 = IC_SEG_OFF; IC1_SEG105 = IC_SEG_OFF; IC1_SEG103 = IC_SEG_OFF; IC1_SEG110 = IC_SEG_OFF; IC1_SEG104 = IC_SEG_OFF; IC1_SEG114 = IC_SEG_OFF; IC1_SEG128 = IC_SEG_OFF; IC1_SEG125 = IC_SEG_OFF; IC1_SEG124 = IC_SEG_OFF; IC1_SEG122 = IC_SEG_OFF; IC1_SEG112 = IC_SEG_OFF; IC1_SEG127 = IC_SEG_OFF; IC1_SEG126 = IC_SEG_OFF; IC1_SEG123 = IC_SEG_OFF; IC1_SEG118 = IC_SEG_OFF; IC1_SEG117 = IC_SEG_OFF; IC1_SEG115 = IC_SEG_OFF; IC1_SEG113 = IC_SEG_OFF; IC1_SEG121 = IC_SEG_OFF; IC1_SEG120 = IC_SEG_OFF; IC1_SEG116 = IC_SEG_OFF; } } /**@brief 车速数字显示函数 * @param[in] m_Flag 车速是否显示 -1 显示 -0 不显示 * @param[in] m_NUM 车速数值 * @param[in] m_Unit 车速单位 -0 Km -1 mile */ void SEG_SET_VSpeed_NUM(uint8_t m_Flag, uint16_t m_NUM, uint8_t m_Unit) { uint16_t Num = 0; uint8_t m8; if (m_Flag == 1) { if (m_NUM > 99) { RTE_GPIO_Set_Level(VSpeed_Tens, 1); RTE_GPIO_Set_Level(VSpeed_Hundreds, 1); } else if (m_NUM > 9) { RTE_GPIO_Set_Level(VSpeed_Tens, 1); RTE_GPIO_Set_Level(VSpeed_Hundreds, 0); } else { RTE_GPIO_Set_Level(VSpeed_Tens, 0); RTE_GPIO_Set_Level(VSpeed_Hundreds, 0); } if ((ClearODO_Flag != 1) && (Common_GetIgnOnTime() >= CHEAKTIME)) { if (Get_Current_PageType() == Page_Km_Unit) { if (m_Unit == 0) { if (FLASH_SYNC_1Hz) { IC2_SEG156 = IC_SEG_OFF; IC2_SEG159 = IC_SEG_ON; LED_Driver_Channel_Set(LampChannel_0, LampCh0_08_KMH, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_09_MPH, LED_OFF); } else { IC2_SEG156 = IC_SEG_OFF; IC2_SEG159 = IC_SEG_OFF; LED_Driver_Channel_Set(LampChannel_0, LampCh0_08_KMH, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_09_MPH, LED_OFF); } } else { if (FLASH_SYNC_1Hz) { IC2_SEG156 = IC_SEG_ON; IC2_SEG159 = IC_SEG_OFF; LED_Driver_Channel_Set(LampChannel_0, LampCh0_08_KMH, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_09_MPH, LED_ON); } else { IC2_SEG156 = IC_SEG_OFF; IC2_SEG159 = IC_SEG_OFF; LED_Driver_Channel_Set(LampChannel_0, LampCh0_08_KMH, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_09_MPH, LED_OFF); } } } else { if (m_Unit == 0) { IC2_SEG156 = IC_SEG_OFF; IC2_SEG159 = IC_SEG_ON; LED_Driver_Channel_Set(LampChannel_0, LampCh0_08_KMH, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_09_MPH, LED_OFF); } else { IC2_SEG156 = IC_SEG_ON; IC2_SEG159 = IC_SEG_OFF; LED_Driver_Channel_Set(LampChannel_0, LampCh0_08_KMH, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_09_MPH, LED_ON); } } } else { IC2_SEG156 = IC_SEG_ON; IC2_SEG159 = IC_SEG_ON; LED_Driver_Channel_Set(LampChannel_0, LampCh0_08_KMH, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_09_MPH, LED_ON); } Num = m_NUM / 100u; if (Num == 1u) { IC2_SEG093 = IC_SEG_ON; } else { IC2_SEG093 = IC_SEG_OFF; } Num = (m_NUM / 10u) % 10u; if (m_NUM >= 100u) { m8 = SEG_DISPLAY_NUMBER0[Num]; } else { m8 = SEG_UNDISPLAY_NUMBER0[Num]; } if (Bit_Is_Set(m8, 0)) { IC2_SEG148 = IC_SEG_ON; } else { IC2_SEG148 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC2_SEG147 = IC_SEG_ON; } else { IC2_SEG147 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC2_SEG098 = IC_SEG_ON; } else { IC2_SEG098 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC2_SEG097 = IC_SEG_ON; } else { IC2_SEG097 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC2_SEG096 = IC_SEG_ON; } else { IC2_SEG096 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC2_SEG094 = IC_SEG_ON; } else { IC2_SEG094 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC2_SEG095 = IC_SEG_ON; } else { IC2_SEG095 = IC_SEG_OFF; } Num = m_NUM % 10u; m8 = SEG_DISPLAY_NUMBER0[Num]; if (Bit_Is_Set(m8, 0)) { IC2_SEG155 = IC_SEG_ON; } else { IC2_SEG155 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC2_SEG154 = IC_SEG_ON; } else { IC2_SEG154 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC2_SEG153 = IC_SEG_ON; } else { IC2_SEG153 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC2_SEG152 = IC_SEG_ON; } else { IC2_SEG152 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC2_SEG151 = IC_SEG_ON; } else { IC2_SEG151 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC2_SEG149 = IC_SEG_ON; } else { IC2_SEG149 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC2_SEG150 = IC_SEG_ON; } else { IC2_SEG150 = IC_SEG_OFF; } } else { LED_Driver_Channel_Set(LampChannel_0, LampCh0_08_KMH, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_09_MPH, LED_OFF); IC2_SEG156 = IC_SEG_OFF; IC2_SEG159 = IC_SEG_OFF; IC2_SEG093 = IC_SEG_OFF; IC2_SEG148 = IC_SEG_OFF; IC2_SEG147 = IC_SEG_OFF; IC2_SEG098 = IC_SEG_OFF; IC2_SEG097 = IC_SEG_OFF; IC2_SEG096 = IC_SEG_OFF; IC2_SEG094 = IC_SEG_OFF; IC2_SEG095 = IC_SEG_OFF; IC2_SEG155 = IC_SEG_OFF; IC2_SEG154 = IC_SEG_OFF; IC2_SEG153 = IC_SEG_OFF; IC2_SEG152 = IC_SEG_OFF; IC2_SEG151 = IC_SEG_OFF; IC2_SEG150 = IC_SEG_OFF; IC2_SEG149 = IC_SEG_OFF; } } /**@brief 电压数字显示函数 * @param[in] m_Flag 电压是否显示 -1 显示 -0 不显示 * @param[in] m_NUM 电压数值 */ void SEG_SET_Voltage_NUM(uint8_t m_Flag, uint16_t m_NUM) { uint16_t Num = 0; uint8_t m8; if (m_Flag) { IC1_SEG079 = IC_SEG_ON; IC1_SEG086 = IC_SEG_ON; if ((Get_Battery_Voltage_Valid() != 1) && (ClearODO_Flag != 1) && (Common_GetIgnOnTime() >= CHEAKTIME)) { IC1_SEG088 = IC_SEG_ON; IC1_SEG081 = IC_SEG_ON; IC1_SEG096 = IC_SEG_OFF; IC1_SEG095 = IC_SEG_OFF; IC1_SEG093 = IC_SEG_OFF; IC1_SEG099 = IC_SEG_OFF; IC1_SEG098 = IC_SEG_OFF; IC1_SEG097 = IC_SEG_OFF; IC1_SEG094 = IC_SEG_OFF; IC1_SEG090 = IC_SEG_OFF; IC1_SEG089 = IC_SEG_OFF; IC1_SEG087 = IC_SEG_OFF; IC1_SEG100 = IC_SEG_OFF; IC1_SEG092 = IC_SEG_OFF; IC1_SEG091 = IC_SEG_OFF; IC1_SEG083 = IC_SEG_OFF; IC1_SEG082 = IC_SEG_OFF; IC1_SEG080 = IC_SEG_OFF; IC1_SEG101 = IC_SEG_OFF; IC1_SEG085 = IC_SEG_OFF; IC1_SEG084 = IC_SEG_OFF; } else { Num = m_NUM / 100; if ((ClearODO_Flag == 1) || (Common_GetIgnOnTime() <= CHEAKTIME)) { m8 = SEG_DISPLAY_NUMBER0[Num]; } else { m8 = SEG_UNDISPLAY_NUMBER0[Num]; } if (Bit_Is_Set(m8, 0)) { IC1_SEG096 = IC_SEG_ON; } else { IC1_SEG096 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC1_SEG095 = IC_SEG_ON; } else { IC1_SEG095 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC1_SEG093 = IC_SEG_ON; } else { IC1_SEG093 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC1_SEG099 = IC_SEG_ON; } else { IC1_SEG099 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC1_SEG098 = IC_SEG_ON; } else { IC1_SEG098 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC1_SEG097 = IC_SEG_ON; } else { IC1_SEG097 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC1_SEG094 = IC_SEG_ON; } else { IC1_SEG094 = IC_SEG_OFF; } /*十位*/ Num = (m_NUM / 10u) % 10u; if ((m_NUM >= 100u) || (m_NUM == 0)) { m8 = SEG_DISPLAY_NUMBER0[Num]; } else if(m_NUM < 10) { m8 = SEG_DISPLAY_NUMBER0[0]; } else { m8 = SEG_UNDISPLAY_NUMBER0[Num]; } if (Bit_Is_Set(m8, 0)) { IC1_SEG090 = IC_SEG_ON; } else { IC1_SEG090 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC1_SEG089 = IC_SEG_ON; } else { IC1_SEG089 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC1_SEG087 = IC_SEG_ON; } else { IC1_SEG087 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC1_SEG100 = IC_SEG_ON; } else { IC1_SEG100 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC1_SEG092 = IC_SEG_ON; } else { IC1_SEG092 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC1_SEG091 = IC_SEG_ON; } else { IC1_SEG091 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC1_SEG088 = IC_SEG_ON; } else { IC1_SEG088 = IC_SEG_OFF; } /*个位*/ Num = m_NUM % 10u; m8 = SEG_DISPLAY_NUMBER0[Num]; if (Bit_Is_Set(m8, 0)) { IC1_SEG083 = IC_SEG_ON; } else { IC1_SEG083 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC1_SEG082 = IC_SEG_ON; } else { IC1_SEG082 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC1_SEG080 = IC_SEG_ON; } else { IC1_SEG080 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC1_SEG101 = IC_SEG_ON; } else { IC1_SEG101 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC1_SEG085 = IC_SEG_ON; } else { IC1_SEG085 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC1_SEG084 = IC_SEG_ON; } else { IC1_SEG084 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC1_SEG081 = IC_SEG_ON; } else { IC1_SEG081 = IC_SEG_OFF; } } } } /**@brief 胎压数字显示函数 * @param[in] m_Flag 胎压是否显示 -1 显示 -0 不显示 * @param[in] m_NUM1 前轮胎压数值 * @param[in] m_NUM2 后轮胎压数值 * @param[in] m_Unit 胎压单位 -1 Psi -0 Bar * @param[in] m_valid1 前轮有效标志 -0 无效,显示-- * @param[in] m_valid2 后轮有效标志 -0 无效,显示-- */ void SEG_SET_TPMS_DISPLAY(uint8_t m_Flag, uint16_t m_NUM1, uint16_t m_NUM2, uint8_t m_Unit, uint8_t m_valid1, uint8_t m_valid2) { uint16_t Num1 = 0; uint16_t Num2 = 0; uint8_t m8; if (m_Flag) { IC2_SEG142 = IC_SEG_ON; IC2_SEG122 = IC_SEG_ON; if ((ClearODO_Flag != 1) && (Common_GetIgnOnTime() >= CHEAKTIME)) { //if (Get_Current_PageType() == Page_Tpms_Unit) //{ // if (m_Unit == 0) // { // IC2_SEG118 = IC_SEG_ON; // IC2_SEG138 = IC_SEG_ON; // if (FLASH_SYNC_1Hz) // { // IC2_SEG109 = IC_SEG_OFF; // IC2_SEG110 = IC_SEG_ON; // } // else // { // IC2_SEG109 = IC_SEG_OFF; // IC2_SEG110 = IC_SEG_OFF; // } // } // else // { // IC2_SEG118 = IC_SEG_OFF; // IC2_SEG138 = IC_SEG_OFF; // if (FLASH_SYNC_1Hz) // { // IC2_SEG109 = IC_SEG_ON; // IC2_SEG110 = IC_SEG_OFF; // } // else // { // IC2_SEG109 = IC_SEG_OFF; // IC2_SEG110 = IC_SEG_OFF; // } // } //} //else { if (m_Unit == 0) { IC2_SEG109 = IC_SEG_OFF; IC2_SEG110 = IC_SEG_ON; if((Get_TPMS_CAN_LOST() == 0)) { IC2_SEG138 = IC_SEG_ON; IC2_SEG118 = IC_SEG_ON; } else { if ((Get_Current_PageType() == Page_Front_Tpms) || (Get_Front_FirstLearn_Flag() == 1) ) { if (FLASH_SYNC_1Hz) { IC2_SEG138 = IC_SEG_ON; } else { IC2_SEG138 = IC_SEG_OFF; } } else { IC2_SEG138 = IC_SEG_ON; } if ((Get_Current_PageType() == Page_Rear_Tpms) || (Get_Rear_FirstLearn_Flag() == 1)) { if (FLASH_SYNC_1Hz) { IC2_SEG118 = IC_SEG_ON; } else { IC2_SEG118 = IC_SEG_OFF; } } else { IC2_SEG118 = IC_SEG_ON; } } } else { IC2_SEG109 = IC_SEG_ON; IC2_SEG110 = IC_SEG_OFF; IC2_SEG118 = IC_SEG_OFF; IC2_SEG138 = IC_SEG_OFF; } } if(Get_TPMS_CAN_LOST() == 0 ) { if (Get_Current_PageType() == Page_Front_Tpms) { if(FLASH_SYNC_1Hz) { IC2_SEG140 = IC_SEG_ON; IC2_SEG133 = IC_SEG_ON; } else { IC2_SEG140 = IC_SEG_OFF; IC2_SEG133 = IC_SEG_OFF; } IC2_SEG120 = IC_SEG_ON; IC2_SEG113 = IC_SEG_ON; } else if (Get_Current_PageType() == Page_Rear_Tpms) { if(FLASH_SYNC_1Hz) { IC2_SEG120 = IC_SEG_ON; IC2_SEG113 = IC_SEG_ON; } else { IC2_SEG120 = IC_SEG_OFF; IC2_SEG113 = IC_SEG_OFF; } IC2_SEG140 = IC_SEG_ON; IC2_SEG133 = IC_SEG_ON; } else { IC2_SEG120 = IC_SEG_ON; IC2_SEG113 = IC_SEG_ON; IC2_SEG140 = IC_SEG_ON; IC2_SEG133 = IC_SEG_ON; } IC2_SEG143 = IC_SEG_OFF; IC2_SEG141 = IC_SEG_OFF; IC2_SEG139 = IC_SEG_OFF; IC2_SEG146 = IC_SEG_OFF; IC2_SEG145 = IC_SEG_OFF; IC2_SEG144 = IC_SEG_OFF; IC2_SEG135 = IC_SEG_OFF; IC2_SEG134 = IC_SEG_OFF; IC2_SEG132 = IC_SEG_OFF; IC2_SEG131 = IC_SEG_OFF; IC2_SEG137 = IC_SEG_OFF; IC2_SEG136 = IC_SEG_OFF; IC2_SEG123 = IC_SEG_OFF; IC2_SEG121 = IC_SEG_OFF; IC2_SEG119 = IC_SEG_OFF; IC2_SEG126 = IC_SEG_OFF; IC2_SEG125 = IC_SEG_OFF; IC2_SEG124 = IC_SEG_OFF; IC2_SEG115 = IC_SEG_OFF; IC2_SEG114 = IC_SEG_OFF; IC2_SEG112 = IC_SEG_OFF; IC2_SEG111 = IC_SEG_OFF; IC2_SEG117 = IC_SEG_OFF; IC2_SEG116 = IC_SEG_OFF; } else { if(Get_Front_TPMS_ID_Vaild() == 1) { SEG_SET_FRONT_TPMS_NUM(Get_Front_FirstLearn_Flag(), m_NUM1, m_valid1); } else { SEG_SET_FRONT_TPMS_NUM(LearningFailure, m_NUM1, m_valid1); } if(Get_Rear_TPMS_ID_Vaild() == 1) { SEG_SET_Rear_TPMS_NUM(Get_Rear_FirstLearn_Flag(), m_NUM2, m_valid2); } else { SEG_SET_Rear_TPMS_NUM(LearningFailure, m_NUM2, m_valid2); } } } else { IC2_SEG109 = IC_SEG_OFF; IC2_SEG110 = IC_SEG_ON; IC2_SEG118 = IC_SEG_ON; IC2_SEG138 = IC_SEG_ON; SEG_SET_FRONT_TPMS_NUM(2, m_NUM1, m_valid1); SEG_SET_Rear_TPMS_NUM(2, m_NUM2, m_valid2); } } else { IC2_SEG120 = IC_SEG_OFF; IC2_SEG113 = IC_SEG_OFF; IC2_SEG123 = IC_SEG_OFF; IC2_SEG121 = IC_SEG_OFF; IC2_SEG119 = IC_SEG_OFF; IC2_SEG126 = IC_SEG_OFF; IC2_SEG125 = IC_SEG_OFF; IC2_SEG124 = IC_SEG_OFF; IC2_SEG115 = IC_SEG_OFF; IC2_SEG114 = IC_SEG_OFF; IC2_SEG112 = IC_SEG_OFF; IC2_SEG111 = IC_SEG_OFF; IC2_SEG117 = IC_SEG_OFF; IC2_SEG116 = IC_SEG_OFF; IC2_SEG140 = IC_SEG_OFF; IC2_SEG133 = IC_SEG_OFF; IC2_SEG143 = IC_SEG_OFF; IC2_SEG141 = IC_SEG_OFF; IC2_SEG139 = IC_SEG_OFF; IC2_SEG146 = IC_SEG_OFF; IC2_SEG145 = IC_SEG_OFF; IC2_SEG144 = IC_SEG_OFF; IC2_SEG135 = IC_SEG_OFF; IC2_SEG134 = IC_SEG_OFF; IC2_SEG132 = IC_SEG_OFF; IC2_SEG131 = IC_SEG_OFF; IC2_SEG137 = IC_SEG_OFF; IC2_SEG136 = IC_SEG_OFF; IC2_SEG109 = IC_SEG_OFF; IC2_SEG110 = IC_SEG_OFF; IC2_SEG118 = IC_SEG_OFF; IC2_SEG122 = IC_SEG_OFF; IC2_SEG138 = IC_SEG_OFF; IC2_SEG142 = IC_SEG_OFF; } } void SEG_SET_FRONT_TPMS_NUM(uint8_t learnflag, uint16_t m_NUM1, uint8_t m_valid1) { uint16_t Num1 = 0; uint16_t Num2 = 0; uint8_t m8; if (learnflag == 0) { if (Get_Current_PageType() == Page_Front_Tpms) { if (FLASH_SYNC_1Hz) { IC2_SEG140 = IC_SEG_ON; IC2_SEG133 = IC_SEG_ON; } else { IC2_SEG140 = IC_SEG_OFF; IC2_SEG133 = IC_SEG_OFF; } IC2_SEG143 = IC_SEG_OFF; IC2_SEG141 = IC_SEG_OFF; IC2_SEG139 = IC_SEG_OFF; IC2_SEG146 = IC_SEG_OFF; IC2_SEG145 = IC_SEG_OFF; IC2_SEG144 = IC_SEG_OFF; IC2_SEG135 = IC_SEG_OFF; IC2_SEG134 = IC_SEG_OFF; IC2_SEG132 = IC_SEG_OFF; IC2_SEG131 = IC_SEG_OFF; IC2_SEG137 = IC_SEG_OFF; IC2_SEG136 = IC_SEG_OFF; } else { IC2_SEG140 = IC_SEG_ON; IC2_SEG133 = IC_SEG_ON; IC2_SEG143 = IC_SEG_OFF; IC2_SEG141 = IC_SEG_OFF; IC2_SEG139 = IC_SEG_OFF; IC2_SEG146 = IC_SEG_OFF; IC2_SEG145 = IC_SEG_OFF; IC2_SEG144 = IC_SEG_OFF; IC2_SEG135 = IC_SEG_OFF; IC2_SEG134 = IC_SEG_OFF; IC2_SEG132 = IC_SEG_OFF; IC2_SEG131 = IC_SEG_OFF; IC2_SEG137 = IC_SEG_OFF; IC2_SEG136 = IC_SEG_OFF; } } else if (learnflag == 1) { if (FLASH_SYNC_1Hz) { IC2_SEG140 = IC_SEG_ON; IC2_SEG133 = IC_SEG_ON; } else { IC2_SEG140 = IC_SEG_OFF; IC2_SEG133 = IC_SEG_OFF; } IC2_SEG143 = IC_SEG_OFF; IC2_SEG141 = IC_SEG_OFF; IC2_SEG139 = IC_SEG_OFF; IC2_SEG146 = IC_SEG_OFF; IC2_SEG145 = IC_SEG_OFF; IC2_SEG144 = IC_SEG_OFF; IC2_SEG135 = IC_SEG_OFF; IC2_SEG134 = IC_SEG_OFF; IC2_SEG132 = IC_SEG_OFF; IC2_SEG131 = IC_SEG_OFF; IC2_SEG137 = IC_SEG_OFF; IC2_SEG136 = IC_SEG_OFF; } else if (learnflag == 2) { if (Get_Current_PageType() == Page_Front_Tpms) { if (FLASH_SYNC_1Hz) { if (m_valid1 == 1) { Num1 = m_NUM1 / 10u; if (Get_Dis_Tpms_Unit() == 0) { m8 = SEG_DISPLAY_NUMBER0[Num1]; } else { m8 = SEG_UNDISPLAY_NUMBER0[Num1]; } if (Bit_Is_Set(m8, 0)) { IC2_SEG143 = IC_SEG_ON; } else { IC2_SEG143 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC2_SEG141 = IC_SEG_ON; } else { IC2_SEG141 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC2_SEG139 = IC_SEG_ON; } else { IC2_SEG139 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC2_SEG146 = IC_SEG_ON; } else { IC2_SEG146 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC2_SEG145 = IC_SEG_ON; } else { IC2_SEG145 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC2_SEG144 = IC_SEG_ON; } else { IC2_SEG144 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC2_SEG140 = IC_SEG_ON; } else { IC2_SEG140 = IC_SEG_OFF; } Num1 = m_NUM1 % 10u; m8 = SEG_DISPLAY_NUMBER0[Num1]; if (Bit_Is_Set(m8, 0)) { IC2_SEG135 = IC_SEG_ON; } else { IC2_SEG135 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC2_SEG134 = IC_SEG_ON; } else { IC2_SEG134 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC2_SEG132 = IC_SEG_ON; } else { IC2_SEG132 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC2_SEG131 = IC_SEG_ON; } else { IC2_SEG131 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC2_SEG137 = IC_SEG_ON; } else { IC2_SEG137 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC2_SEG136 = IC_SEG_ON; } else { IC2_SEG136 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC2_SEG133 = IC_SEG_ON; } else { IC2_SEG133 = IC_SEG_OFF; } } else { IC2_SEG140 = IC_SEG_ON; IC2_SEG133 = IC_SEG_ON; IC2_SEG143 = IC_SEG_OFF; IC2_SEG141 = IC_SEG_OFF; IC2_SEG139 = IC_SEG_OFF; IC2_SEG146 = IC_SEG_OFF; IC2_SEG145 = IC_SEG_OFF; IC2_SEG144 = IC_SEG_OFF; IC2_SEG135 = IC_SEG_OFF; IC2_SEG134 = IC_SEG_OFF; IC2_SEG132 = IC_SEG_OFF; IC2_SEG131 = IC_SEG_OFF; IC2_SEG137 = IC_SEG_OFF; IC2_SEG136 = IC_SEG_OFF; } } else { IC2_SEG140 = IC_SEG_OFF; IC2_SEG133 = IC_SEG_OFF; IC2_SEG143 = IC_SEG_OFF; IC2_SEG141 = IC_SEG_OFF; IC2_SEG139 = IC_SEG_OFF; IC2_SEG146 = IC_SEG_OFF; IC2_SEG145 = IC_SEG_OFF; IC2_SEG144 = IC_SEG_OFF; IC2_SEG135 = IC_SEG_OFF; IC2_SEG134 = IC_SEG_OFF; IC2_SEG132 = IC_SEG_OFF; IC2_SEG131 = IC_SEG_OFF; IC2_SEG137 = IC_SEG_OFF; IC2_SEG136 = IC_SEG_OFF; } } else { if (m_valid1 == 1) { Num1 = m_NUM1 / 10u; if (Get_Dis_Tpms_Unit() == 0) { m8 = SEG_DISPLAY_NUMBER0[Num1]; } else { m8 = SEG_UNDISPLAY_NUMBER0[Num1]; } if (Bit_Is_Set(m8, 0)) { IC2_SEG143 = IC_SEG_ON; } else { IC2_SEG143 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC2_SEG141 = IC_SEG_ON; } else { IC2_SEG141 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC2_SEG139 = IC_SEG_ON; } else { IC2_SEG139 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC2_SEG146 = IC_SEG_ON; } else { IC2_SEG146 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC2_SEG145 = IC_SEG_ON; } else { IC2_SEG145 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC2_SEG144 = IC_SEG_ON; } else { IC2_SEG144 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC2_SEG140 = IC_SEG_ON; } else { IC2_SEG140 = IC_SEG_OFF; } Num1 = m_NUM1 % 10u; m8 = SEG_DISPLAY_NUMBER0[Num1]; if (Bit_Is_Set(m8, 0)) { IC2_SEG135 = IC_SEG_ON; } else { IC2_SEG135 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC2_SEG134 = IC_SEG_ON; } else { IC2_SEG134 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC2_SEG132 = IC_SEG_ON; } else { IC2_SEG132 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC2_SEG131 = IC_SEG_ON; } else { IC2_SEG131 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC2_SEG137 = IC_SEG_ON; } else { IC2_SEG137 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC2_SEG136 = IC_SEG_ON; } else { IC2_SEG136 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC2_SEG133 = IC_SEG_ON; } else { IC2_SEG133 = IC_SEG_OFF; } } else { IC2_SEG140 = IC_SEG_ON; IC2_SEG133 = IC_SEG_ON; IC2_SEG143 = IC_SEG_OFF; IC2_SEG141 = IC_SEG_OFF; IC2_SEG139 = IC_SEG_OFF; IC2_SEG146 = IC_SEG_OFF; IC2_SEG145 = IC_SEG_OFF; IC2_SEG144 = IC_SEG_OFF; IC2_SEG135 = IC_SEG_OFF; IC2_SEG134 = IC_SEG_OFF; IC2_SEG132 = IC_SEG_OFF; IC2_SEG131 = IC_SEG_OFF; IC2_SEG137 = IC_SEG_OFF; IC2_SEG136 = IC_SEG_OFF; } } } else if (learnflag == 3) { if (Get_Current_PageType() == Page_Front_Tpms) { if (FLASH_SYNC_1Hz) { IC2_SEG140 = IC_SEG_ON; IC2_SEG133 = IC_SEG_ON; } else { IC2_SEG140 = IC_SEG_OFF; IC2_SEG133 = IC_SEG_OFF; } IC2_SEG143 = IC_SEG_OFF; IC2_SEG141 = IC_SEG_OFF; IC2_SEG139 = IC_SEG_OFF; IC2_SEG146 = IC_SEG_OFF; IC2_SEG145 = IC_SEG_OFF; IC2_SEG144 = IC_SEG_OFF; IC2_SEG135 = IC_SEG_OFF; IC2_SEG134 = IC_SEG_OFF; IC2_SEG132 = IC_SEG_OFF; IC2_SEG131 = IC_SEG_OFF; IC2_SEG137 = IC_SEG_OFF; IC2_SEG136 = IC_SEG_OFF; } else { IC2_SEG138 = IC_SEG_ON; IC2_SEG140 = IC_SEG_ON; IC2_SEG133 = IC_SEG_ON; IC2_SEG143 = IC_SEG_OFF; IC2_SEG141 = IC_SEG_OFF; IC2_SEG139 = IC_SEG_OFF; IC2_SEG146 = IC_SEG_OFF; IC2_SEG145 = IC_SEG_OFF; IC2_SEG144 = IC_SEG_OFF; IC2_SEG135 = IC_SEG_OFF; IC2_SEG134 = IC_SEG_OFF; IC2_SEG132 = IC_SEG_OFF; IC2_SEG131 = IC_SEG_OFF; IC2_SEG137 = IC_SEG_OFF; IC2_SEG136 = IC_SEG_OFF; } //if (FLASH_SYNC_1Hz) //{ // IC2_SEG138 = IC_SEG_ON; // // IC2_SEG140 = IC_SEG_ON; // IC2_SEG133 = IC_SEG_ON; // // IC2_SEG143 = IC_SEG_OFF; // IC2_SEG141 = IC_SEG_OFF; // IC2_SEG139 = IC_SEG_OFF; // IC2_SEG146 = IC_SEG_OFF; // IC2_SEG145 = IC_SEG_OFF; // IC2_SEG144 = IC_SEG_OFF; // // IC2_SEG135 = IC_SEG_OFF; // IC2_SEG134 = IC_SEG_OFF; // IC2_SEG132 = IC_SEG_OFF; // IC2_SEG131 = IC_SEG_OFF; // IC2_SEG137 = IC_SEG_OFF; // IC2_SEG136 = IC_SEG_OFF; //} //else //{ // IC2_SEG138 = IC_SEG_OFF; // // IC2_SEG140 = IC_SEG_OFF; // IC2_SEG133 = IC_SEG_OFF; // // IC2_SEG143 = IC_SEG_OFF; // IC2_SEG141 = IC_SEG_OFF; // IC2_SEG139 = IC_SEG_OFF; // IC2_SEG146 = IC_SEG_OFF; // IC2_SEG145 = IC_SEG_OFF; // IC2_SEG144 = IC_SEG_OFF; // // IC2_SEG135 = IC_SEG_OFF; // IC2_SEG134 = IC_SEG_OFF; // IC2_SEG132 = IC_SEG_OFF; // IC2_SEG131 = IC_SEG_OFF; // IC2_SEG137 = IC_SEG_OFF; // IC2_SEG136 = IC_SEG_OFF; //} } else { ; } } void SEG_SET_Rear_TPMS_NUM(uint8_t learnflag, uint16_t m_NUM2, uint8_t m_valid2) { uint16_t Num1 = 0; uint16_t Num2 = 0; uint8_t m8; if (learnflag == 0) { if (Get_Current_PageType() == Page_Rear_Tpms) { if (FLASH_SYNC_1Hz) { IC2_SEG120 = IC_SEG_ON; IC2_SEG113 = IC_SEG_ON; } else { IC2_SEG120 = IC_SEG_OFF; IC2_SEG113 = IC_SEG_OFF; } IC2_SEG123 = IC_SEG_OFF; IC2_SEG121 = IC_SEG_OFF; IC2_SEG119 = IC_SEG_OFF; IC2_SEG126 = IC_SEG_OFF; IC2_SEG125 = IC_SEG_OFF; IC2_SEG124 = IC_SEG_OFF; IC2_SEG115 = IC_SEG_OFF; IC2_SEG114 = IC_SEG_OFF; IC2_SEG112 = IC_SEG_OFF; IC2_SEG111 = IC_SEG_OFF; IC2_SEG117 = IC_SEG_OFF; IC2_SEG116 = IC_SEG_OFF; } else { IC2_SEG120 = IC_SEG_ON; IC2_SEG113 = IC_SEG_ON; IC2_SEG123 = IC_SEG_OFF; IC2_SEG121 = IC_SEG_OFF; IC2_SEG119 = IC_SEG_OFF; IC2_SEG126 = IC_SEG_OFF; IC2_SEG125 = IC_SEG_OFF; IC2_SEG124 = IC_SEG_OFF; IC2_SEG115 = IC_SEG_OFF; IC2_SEG114 = IC_SEG_OFF; IC2_SEG112 = IC_SEG_OFF; IC2_SEG111 = IC_SEG_OFF; IC2_SEG117 = IC_SEG_OFF; IC2_SEG116 = IC_SEG_OFF; } } else if (learnflag == 1) { if (FLASH_SYNC_1Hz) { IC2_SEG120 = IC_SEG_ON; IC2_SEG113 = IC_SEG_ON; } else { IC2_SEG120 = IC_SEG_OFF; IC2_SEG113 = IC_SEG_OFF; } IC2_SEG123 = IC_SEG_OFF; IC2_SEG121 = IC_SEG_OFF; IC2_SEG119 = IC_SEG_OFF; IC2_SEG126 = IC_SEG_OFF; IC2_SEG125 = IC_SEG_OFF; IC2_SEG124 = IC_SEG_OFF; IC2_SEG115 = IC_SEG_OFF; IC2_SEG114 = IC_SEG_OFF; IC2_SEG112 = IC_SEG_OFF; IC2_SEG111 = IC_SEG_OFF; IC2_SEG117 = IC_SEG_OFF; IC2_SEG116 = IC_SEG_OFF; } else if (learnflag == 2) { if (Get_Current_PageType() == Page_Rear_Tpms) { if (FLASH_SYNC_1Hz) { if (m_valid2 == 1) { Num2 = m_NUM2 / 10u; if (Get_Dis_Tpms_Unit() == 0) { m8 = SEG_DISPLAY_NUMBER0[Num2]; } else { m8 = SEG_UNDISPLAY_NUMBER0[Num2]; } if (Bit_Is_Set(m8, 0)) { IC2_SEG123 = IC_SEG_ON; } else { IC2_SEG123 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC2_SEG121 = IC_SEG_ON; } else { IC2_SEG121 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC2_SEG119 = IC_SEG_ON; } else { IC2_SEG119 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC2_SEG126 = IC_SEG_ON; } else { IC2_SEG126 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC2_SEG125 = IC_SEG_ON; } else { IC2_SEG125 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC2_SEG124 = IC_SEG_ON; } else { IC2_SEG124 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC2_SEG120 = IC_SEG_ON; } else { IC2_SEG120 = IC_SEG_OFF; } Num2 = m_NUM2 % 10u; m8 = SEG_DISPLAY_NUMBER0[Num2]; if (Bit_Is_Set(m8, 0)) { IC2_SEG115 = IC_SEG_ON; } else { IC2_SEG115 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC2_SEG114 = IC_SEG_ON; } else { IC2_SEG114 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC2_SEG112 = IC_SEG_ON; } else { IC2_SEG112 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC2_SEG111 = IC_SEG_ON; } else { IC2_SEG111 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC2_SEG117 = IC_SEG_ON; } else { IC2_SEG117 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC2_SEG116 = IC_SEG_ON; } else { IC2_SEG116 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC2_SEG113 = IC_SEG_ON; } else { IC2_SEG113 = IC_SEG_OFF; } } else { IC2_SEG120 = IC_SEG_ON; IC2_SEG113 = IC_SEG_ON; IC2_SEG123 = IC_SEG_OFF; IC2_SEG121 = IC_SEG_OFF; IC2_SEG119 = IC_SEG_OFF; IC2_SEG126 = IC_SEG_OFF; IC2_SEG125 = IC_SEG_OFF; IC2_SEG124 = IC_SEG_OFF; IC2_SEG115 = IC_SEG_OFF; IC2_SEG114 = IC_SEG_OFF; IC2_SEG112 = IC_SEG_OFF; IC2_SEG111 = IC_SEG_OFF; IC2_SEG117 = IC_SEG_OFF; IC2_SEG116 = IC_SEG_OFF; } } else { IC2_SEG120 = IC_SEG_OFF; IC2_SEG113 = IC_SEG_OFF; IC2_SEG123 = IC_SEG_OFF; IC2_SEG121 = IC_SEG_OFF; IC2_SEG119 = IC_SEG_OFF; IC2_SEG126 = IC_SEG_OFF; IC2_SEG125 = IC_SEG_OFF; IC2_SEG124 = IC_SEG_OFF; IC2_SEG115 = IC_SEG_OFF; IC2_SEG114 = IC_SEG_OFF; IC2_SEG112 = IC_SEG_OFF; IC2_SEG111 = IC_SEG_OFF; IC2_SEG117 = IC_SEG_OFF; IC2_SEG116 = IC_SEG_OFF; } } else { if (m_valid2 == 1) { Num2 = m_NUM2 / 10u; if (Get_Dis_Tpms_Unit() == 0) { m8 = SEG_DISPLAY_NUMBER0[Num2]; } else { m8 = SEG_UNDISPLAY_NUMBER0[Num2]; } if (Bit_Is_Set(m8, 0)) { IC2_SEG123 = IC_SEG_ON; } else { IC2_SEG123 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC2_SEG121 = IC_SEG_ON; } else { IC2_SEG121 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC2_SEG119 = IC_SEG_ON; } else { IC2_SEG119 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC2_SEG126 = IC_SEG_ON; } else { IC2_SEG126 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC2_SEG125 = IC_SEG_ON; } else { IC2_SEG125 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC2_SEG124 = IC_SEG_ON; } else { IC2_SEG124 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC2_SEG120 = IC_SEG_ON; } else { IC2_SEG120 = IC_SEG_OFF; } Num2 = m_NUM2 % 10u; m8 = SEG_DISPLAY_NUMBER0[Num2]; if (Bit_Is_Set(m8, 0)) { IC2_SEG115 = IC_SEG_ON; } else { IC2_SEG115 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC2_SEG114 = IC_SEG_ON; } else { IC2_SEG114 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC2_SEG112 = IC_SEG_ON; } else { IC2_SEG112 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC2_SEG111 = IC_SEG_ON; } else { IC2_SEG111 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC2_SEG117 = IC_SEG_ON; } else { IC2_SEG117 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC2_SEG116 = IC_SEG_ON; } else { IC2_SEG116 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC2_SEG113 = IC_SEG_ON; } else { IC2_SEG113 = IC_SEG_OFF; } } else { IC2_SEG120 = IC_SEG_ON; IC2_SEG113 = IC_SEG_ON; IC2_SEG123 = IC_SEG_OFF; IC2_SEG121 = IC_SEG_OFF; IC2_SEG119 = IC_SEG_OFF; IC2_SEG126 = IC_SEG_OFF; IC2_SEG125 = IC_SEG_OFF; IC2_SEG124 = IC_SEG_OFF; IC2_SEG115 = IC_SEG_OFF; IC2_SEG114 = IC_SEG_OFF; IC2_SEG112 = IC_SEG_OFF; IC2_SEG111 = IC_SEG_OFF; IC2_SEG117 = IC_SEG_OFF; IC2_SEG116 = IC_SEG_OFF; } } } else if (learnflag == 3) { if (Get_Current_PageType() == Page_Rear_Tpms) { if (FLASH_SYNC_1Hz) { IC2_SEG120 = IC_SEG_ON; IC2_SEG113 = IC_SEG_ON; } else { IC2_SEG120 = IC_SEG_OFF; IC2_SEG113 = IC_SEG_OFF; } IC2_SEG123 = IC_SEG_OFF; IC2_SEG121 = IC_SEG_OFF; IC2_SEG119 = IC_SEG_OFF; IC2_SEG126 = IC_SEG_OFF; IC2_SEG125 = IC_SEG_OFF; IC2_SEG124 = IC_SEG_OFF; IC2_SEG115 = IC_SEG_OFF; IC2_SEG114 = IC_SEG_OFF; IC2_SEG112 = IC_SEG_OFF; IC2_SEG111 = IC_SEG_OFF; IC2_SEG117 = IC_SEG_OFF; IC2_SEG116 = IC_SEG_OFF; } else { IC2_SEG120 = IC_SEG_ON; IC2_SEG113 = IC_SEG_ON; IC2_SEG118 = IC_SEG_ON; IC2_SEG123 = IC_SEG_OFF; IC2_SEG121 = IC_SEG_OFF; IC2_SEG119 = IC_SEG_OFF; IC2_SEG126 = IC_SEG_OFF; IC2_SEG125 = IC_SEG_OFF; IC2_SEG124 = IC_SEG_OFF; IC2_SEG115 = IC_SEG_OFF; IC2_SEG114 = IC_SEG_OFF; IC2_SEG112 = IC_SEG_OFF; IC2_SEG111 = IC_SEG_OFF; IC2_SEG117 = IC_SEG_OFF; IC2_SEG116 = IC_SEG_OFF; } //IC2_SEG118 = IC_SEG_ON; //IC2_SEG120 = IC_SEG_ON; //IC2_SEG113 = IC_SEG_ON; //if (FLASH_SYNC_1Hz) //{ // IC2_SEG120 = IC_SEG_ON; // IC2_SEG113 = IC_SEG_ON; // // IC2_SEG118 = IC_SEG_ON; // // // IC2_SEG123 = IC_SEG_OFF; // IC2_SEG121 = IC_SEG_OFF; // IC2_SEG119 = IC_SEG_OFF; // IC2_SEG126 = IC_SEG_OFF; // IC2_SEG125 = IC_SEG_OFF; // IC2_SEG124 = IC_SEG_OFF; // // IC2_SEG115 = IC_SEG_OFF; // IC2_SEG114 = IC_SEG_OFF; // IC2_SEG112 = IC_SEG_OFF; // IC2_SEG111 = IC_SEG_OFF; // IC2_SEG117 = IC_SEG_OFF; // IC2_SEG116 = IC_SEG_OFF; //} //else //{ // IC2_SEG120 = IC_SEG_OFF; // IC2_SEG113 = IC_SEG_OFF; // // IC2_SEG118 = IC_SEG_OFF; // // IC2_SEG123 = IC_SEG_OFF; // IC2_SEG121 = IC_SEG_OFF; // IC2_SEG119 = IC_SEG_OFF; // IC2_SEG126 = IC_SEG_OFF; // IC2_SEG125 = IC_SEG_OFF; // IC2_SEG124 = IC_SEG_OFF; // // IC2_SEG115 = IC_SEG_OFF; // IC2_SEG114 = IC_SEG_OFF; // IC2_SEG112 = IC_SEG_OFF; // IC2_SEG111 = IC_SEG_OFF; // IC2_SEG117 = IC_SEG_OFF; // IC2_SEG116 = IC_SEG_OFF; //} } else { ; } } /**@brief 总计里程显示函数 * @param[in] m_NUM_ODO 显示ODO数值 0 < m_NUM <= 199999 * @param[in] m_Uint 距离单位 -0 KM -1 MILE */ void SEG_SET_ODO_TRIP_FAULTCODE_TCS_DIS(uint8_t m_Uint, uint32_t m_NUM_ODO, uint32_t m_NUM_TRIP) { uint32_t Num; uint8_t m8; RTE_GPIO_Set_Level(ODO_TenThousand, 1); RTE_GPIO_Set_Level(ODO_Thousand, 1); if ((ClearODO_Flag != 1) && (Common_GetIgnOnTime() >= CHEAKTIME)) { if ((Get_Current_PageType() == Page_Km_Unit) && ((Get_Current_PageMenu() == Page_Odo) || (Get_Current_PageMenu() == Page_Trip))) { if (m_Uint == 0) { if (FLASH_SYNC_1Hz) { IC1_SEG036 = IC_SEG_OFF; IC1_SEG037 = IC_SEG_ON; } else { IC1_SEG036 = IC_SEG_OFF; IC1_SEG037 = IC_SEG_OFF; } } else { if (FLASH_SYNC_1Hz) { IC1_SEG036 = IC_SEG_ON; IC1_SEG037 = IC_SEG_OFF; } else { IC1_SEG036 = IC_SEG_OFF; IC1_SEG037 = IC_SEG_OFF; } } } else { if ((Get_Current_PageMenu() == Page_Odo) || (Get_Current_PageMenu() == Page_Trip)) { if (m_Uint == 0) { IC1_SEG036 = IC_SEG_OFF; IC1_SEG037 = IC_SEG_ON; } else { IC1_SEG036 = IC_SEG_ON; IC1_SEG037 = IC_SEG_OFF; } if (Get_Current_PageMenu() == Page_Odo) { IC1_SEG072 = IC_SEG_ON; IC1_SEG045 = IC_SEG_OFF; IC1_SEG046 = IC_SEG_OFF; LED_Driver_Channel_Set(LampChannel_0, LampCh0_35_ODO, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_34_TRIP, LED_OFF); } else if (Get_Current_PageMenu() == Page_Trip) { IC1_SEG072 = IC_SEG_OFF; IC1_SEG045 = IC_SEG_ON; IC1_SEG046 = IC_SEG_ON; LED_Driver_Channel_Set(LampChannel_0, LampCh0_35_ODO, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_34_TRIP, LED_ON); } else { ; } } else { IC1_SEG036 = IC_SEG_OFF; IC1_SEG037 = IC_SEG_OFF; IC1_SEG072 = IC_SEG_OFF; IC1_SEG045 = IC_SEG_OFF; IC1_SEG046 = IC_SEG_OFF; LED_Driver_Channel_Set(LampChannel_0, LampCh0_35_ODO, LED_OFF); LED_Driver_Channel_Set(LampChannel_0, LampCh0_34_TRIP, LED_OFF); } } } else { IC1_SEG036 = IC_SEG_ON; IC1_SEG037 = IC_SEG_ON; IC1_SEG072 = IC_SEG_ON; IC1_SEG045 = IC_SEG_ON; IC1_SEG046 = IC_SEG_ON; LED_Driver_Channel_Set(LampChannel_0, LampCh0_35_ODO, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_34_TRIP, LED_ON); } if ((Get_Current_PageMenu() == Page_Odo) || (ClearODO_Flag == 1) || (Common_GetIgnOnTime() < CHEAKTIME)) { if (m_NUM_ODO > 99999) { IC1_SEG076 = IC_SEG_ON; } else { IC1_SEG076 = IC_SEG_OFF; } Num = (m_NUM_ODO / 10000) % 10; if (m_NUM_ODO >= 100000) { m8 = SEG_DISPLAY_NUMBER0[Num]; } else { m8 = SEG_UNDISPLAY_NUMBER0[Num]; } if (Bit_Is_Set(m8, 0)) { IC1_SEG071 = IC_SEG_ON; } else { IC1_SEG071 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC1_SEG070 = IC_SEG_ON; } else { IC1_SEG070 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC1_SEG068 = IC_SEG_ON; } else { IC1_SEG068 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC1_SEG075 = IC_SEG_ON; } else { IC1_SEG075 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC1_SEG074 = IC_SEG_ON; } else { IC1_SEG074 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC1_SEG073 = IC_SEG_ON; } else { IC1_SEG073 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC1_SEG069 = IC_SEG_ON; } else { IC1_SEG069 = IC_SEG_OFF; } Num = (m_NUM_ODO / 1000) % 10; if (m_NUM_ODO >= 10000) { m8 = SEG_DISPLAY_NUMBER0[Num]; } else { m8 = SEG_UNDISPLAY_NUMBER0[Num]; } if (Bit_Is_Set(m8, 0)) { IC1_SEG064 = IC_SEG_ON; } else { IC1_SEG064 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC1_SEG063 = IC_SEG_ON; } else { IC1_SEG063 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC1_SEG061 = IC_SEG_ON; } else { IC1_SEG061 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC1_SEG067 = IC_SEG_ON; } else { IC1_SEG067 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC1_SEG066 = IC_SEG_ON; } else { IC1_SEG066 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC1_SEG065 = IC_SEG_ON; } else { IC1_SEG065 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC1_SEG062 = IC_SEG_ON; } else { IC1_SEG062 = IC_SEG_OFF; } Num = (m_NUM_ODO / 100) % 10; if (m_NUM_ODO >= 1000) { m8 = SEG_DISPLAY_NUMBER0[Num]; } else { m8 = SEG_UNDISPLAY_NUMBER0[Num]; } if (Bit_Is_Set(m8, 0)) { IC1_SEG057 = IC_SEG_ON; } else { IC1_SEG057 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC1_SEG056 = IC_SEG_ON; } else { IC1_SEG056 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC1_SEG054 = IC_SEG_ON; } else { IC1_SEG054 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC1_SEG060 = IC_SEG_ON; } else { IC1_SEG060 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC1_SEG059 = IC_SEG_ON; } else { IC1_SEG059 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC1_SEG058 = IC_SEG_ON; } else { IC1_SEG058 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC1_SEG055 = IC_SEG_ON; } else { IC1_SEG055 = IC_SEG_OFF; } Num = (m_NUM_ODO / 10) % 10; if (m_NUM_ODO >= 100) { m8 = SEG_DISPLAY_NUMBER0[Num]; } else { m8 = SEG_UNDISPLAY_NUMBER0[Num]; } if (Bit_Is_Set(m8, 0)) { IC1_SEG050 = IC_SEG_ON; } else { IC1_SEG050 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC1_SEG049 = IC_SEG_ON; } else { IC1_SEG049 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC1_SEG047 = IC_SEG_ON; } else { IC1_SEG047 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC1_SEG053 = IC_SEG_ON; } else { IC1_SEG053 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC1_SEG052 = IC_SEG_ON; } else { IC1_SEG052 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC1_SEG051 = IC_SEG_ON; } else { IC1_SEG051 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC1_SEG048 = IC_SEG_ON; } else { IC1_SEG048 = IC_SEG_OFF; } Num = m_NUM_ODO % 10; m8 = SEG_DISPLAY_NUMBER0[Num]; if (Bit_Is_Set(m8, 0)) { IC1_SEG042 = IC_SEG_ON; } else { IC1_SEG042 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC1_SEG041 = IC_SEG_ON; } else { IC1_SEG041 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC1_SEG039 = IC_SEG_ON; } else { IC1_SEG039 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC1_SEG038 = IC_SEG_ON; } else { IC1_SEG038 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC1_SEG044 = IC_SEG_ON; } else { IC1_SEG044 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC1_SEG043 = IC_SEG_ON; } else { IC1_SEG043 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC1_SEG040 = IC_SEG_ON; } else { IC1_SEG040 = IC_SEG_OFF; } } else if (Get_Current_PageMenu() == Page_Trip) { IC1_SEG076 = IC_SEG_OFF; IC1_SEG071 = IC_SEG_OFF; IC1_SEG070 = IC_SEG_OFF; IC1_SEG068 = IC_SEG_OFF; IC1_SEG075 = IC_SEG_OFF; IC1_SEG074 = IC_SEG_OFF; IC1_SEG073 = IC_SEG_OFF; IC1_SEG069 = IC_SEG_OFF; Num = m_NUM_TRIP / 1000; m8 = SEG_UNDISPLAY_NUMBER0[Num]; if (Bit_Is_Set(m8, 0)) { IC1_SEG064 = IC_SEG_ON; } else { IC1_SEG064 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC1_SEG063 = IC_SEG_ON; } else { IC1_SEG063 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC1_SEG061 = IC_SEG_ON; } else { IC1_SEG061 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC1_SEG067 = IC_SEG_ON; } else { IC1_SEG067 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC1_SEG066 = IC_SEG_ON; } else { IC1_SEG066 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC1_SEG065 = IC_SEG_ON; } else { IC1_SEG065 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC1_SEG062 = IC_SEG_ON; } else { IC1_SEG062 = IC_SEG_OFF; } Num = (m_NUM_TRIP / 100) % 10; if (m_NUM_TRIP >= 1000) { m8 = SEG_DISPLAY_NUMBER0[Num]; } else { m8 = SEG_UNDISPLAY_NUMBER0[Num]; } if (Bit_Is_Set(m8, 0)) { IC1_SEG057 = IC_SEG_ON; } else { IC1_SEG057 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC1_SEG056 = IC_SEG_ON; } else { IC1_SEG056 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC1_SEG054 = IC_SEG_ON; } else { IC1_SEG054 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC1_SEG060 = IC_SEG_ON; } else { IC1_SEG060 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC1_SEG059 = IC_SEG_ON; } else { IC1_SEG059 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC1_SEG058 = IC_SEG_ON; } else { IC1_SEG058 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC1_SEG055 = IC_SEG_ON; } else { IC1_SEG055 = IC_SEG_OFF; } Num = (m_NUM_TRIP / 10) % 10; // if ((m_NUM_TRIP >= 100) || (m_NUM_TRIP == 0)) //{ m8 = SEG_DISPLAY_NUMBER0[Num]; //} // else //{ // m8 = SEG_UNDISPLAY_NUMBER0[Num]; //} if (Bit_Is_Set(m8, 0)) { IC1_SEG050 = IC_SEG_ON; } else { IC1_SEG050 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC1_SEG049 = IC_SEG_ON; } else { IC1_SEG049 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC1_SEG047 = IC_SEG_ON; } else { IC1_SEG047 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC1_SEG053 = IC_SEG_ON; } else { IC1_SEG053 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC1_SEG052 = IC_SEG_ON; } else { IC1_SEG052 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC1_SEG051 = IC_SEG_ON; } else { IC1_SEG051 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC1_SEG048 = IC_SEG_ON; } else { IC1_SEG048 = IC_SEG_OFF; } Num = m_NUM_TRIP % 10; m8 = SEG_DISPLAY_NUMBER0[Num]; if (Bit_Is_Set(m8, 0)) { IC1_SEG042 = IC_SEG_ON; } else { IC1_SEG042 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC1_SEG041 = IC_SEG_ON; } else { IC1_SEG041 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC1_SEG039 = IC_SEG_ON; } else { IC1_SEG039 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC1_SEG038 = IC_SEG_ON; } else { IC1_SEG038 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC1_SEG044 = IC_SEG_ON; } else { IC1_SEG044 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC1_SEG043 = IC_SEG_ON; } else { IC1_SEG043 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC1_SEG040 = IC_SEG_ON; } else { IC1_SEG040 = IC_SEG_OFF; } } else if (Get_Current_PageMenu() == Page_DTC) { IC1_SEG076 = IC_SEG_OFF; if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CAN_0x402_Msg_Count) == CAN_SIG_LOST) //|| (Get_FaultCode_Valid() == 0)) { SEG_SET_DTC_NUM(0x0B0B0B0B); IC1_SEG071 = IC_SEG_OFF; IC1_SEG070 = IC_SEG_OFF; IC1_SEG068 = IC_SEG_OFF; IC1_SEG075 = IC_SEG_OFF; IC1_SEG074 = IC_SEG_OFF; IC1_SEG073 = IC_SEG_OFF; IC1_SEG069 = IC_SEG_ON; } else { // DTC_DISTimer ++; // IC1_SEG071 = IC_SEG_ON; // IC1_SEG070 = IC_SEG_ON; // IC1_SEG068 = IC_SEG_OFF; // IC1_SEG075 = IC_SEG_OFF; // IC1_SEG074 = IC_SEG_ON; // IC1_SEG073 = IC_SEG_ON; // IC1_SEG069 = IC_SEG_ON; // if((FaultCode_Number == 0) && (FaultCode_Data[0] == 0)) //{ // SEG_SET_DTC_NUM(0); // DTC_DISTimer = 0; // Current_DTC_CODE = 0; // Current_DTC_CODE_BACK = 0; // } // else //{ // if(DTC_DISTimer < 100) // { // if (DTC_DISCount >= FaultCode_Number) // { // DTC_DISCount = FaultCode_Number -1; // } // if((FaultCode_Compare(Current_DTC_CODE, &FaultCode_Data[0], FaultCode_Number) == 0) && (FaultCode_Data[DTC_DISCount] != 0)) // { // Current_DTC_CODE = FaultCode_Data[DTC_DISCount] ; // DTC_DISTimer = 0; // } // Current_DTC_CODE_BACK = Current_DTC_CODE; // } // else if (DTC_DISTimer >= 100) // { // DTC_DISCount ++ ; // if (DTC_DISCount >= FaultCode_Number) // { // DTC_DISCount = 0; // } // Current_DTC_CODE = FaultCode_Data[DTC_DISCount] ; // DTC_DISTimer = 0; // if((Current_DTC_CODE == Current_DTC_CODE_BACK) && (DTC_DISCount < (FaultCode_Number - 1))) // { // DTC_DISCount ++ ; // Current_DTC_CODE = FaultCode_Data[DTC_DISCount] ; // } // } // SEG_SET_DTC_NUM(Current_DTC_CODE); // } IC1_SEG071 = IC_SEG_ON; IC1_SEG070 = IC_SEG_ON; IC1_SEG068 = IC_SEG_OFF; IC1_SEG075 = IC_SEG_OFF; IC1_SEG074 = IC_SEG_ON; IC1_SEG073 = IC_SEG_ON; IC1_SEG069 = IC_SEG_ON; SEG_SET_DTC_NUM(Get_Current_FaultCode()); } } else if (Get_Current_PageMenu() == Page_TCS) { IC1_SEG076 = IC_SEG_OFF; IC1_SEG071 = IC_SEG_ON; IC1_SEG070 = IC_SEG_OFF; IC1_SEG068 = IC_SEG_ON; IC1_SEG075 = IC_SEG_ON; IC1_SEG074 = IC_SEG_OFF; IC1_SEG073 = IC_SEG_ON; IC1_SEG069 = IC_SEG_ON; IC1_SEG064 = IC_SEG_OFF; IC1_SEG063 = IC_SEG_OFF; IC1_SEG061 = IC_SEG_OFF; IC1_SEG067 = IC_SEG_OFF; IC1_SEG066 = IC_SEG_OFF; IC1_SEG065 = IC_SEG_OFF; IC1_SEG062 = IC_SEG_OFF; IC1_SEG057 = IC_SEG_ON; IC1_SEG056 = IC_SEG_ON; IC1_SEG054 = IC_SEG_ON; IC1_SEG060 = IC_SEG_ON; IC1_SEG059 = IC_SEG_ON; IC1_SEG058 = IC_SEG_ON; IC1_SEG055 = IC_SEG_OFF; if (Get_Dis_Tcs_Val() == 0) { IC1_SEG050 = IC_SEG_ON; IC1_SEG049 = IC_SEG_OFF; IC1_SEG047 = IC_SEG_OFF; IC1_SEG053 = IC_SEG_OFF; IC1_SEG052 = IC_SEG_ON; IC1_SEG051 = IC_SEG_ON; IC1_SEG048 = IC_SEG_ON; IC1_SEG042 = IC_SEG_ON; IC1_SEG041 = IC_SEG_OFF; IC1_SEG039 = IC_SEG_OFF; IC1_SEG038 = IC_SEG_OFF; IC1_SEG044 = IC_SEG_ON; IC1_SEG043 = IC_SEG_ON; IC1_SEG040 = IC_SEG_ON; } else { IC1_SEG050 = IC_SEG_ON; IC1_SEG049 = IC_SEG_ON; IC1_SEG047 = IC_SEG_ON; IC1_SEG053 = IC_SEG_OFF; IC1_SEG052 = IC_SEG_ON; IC1_SEG051 = IC_SEG_ON; IC1_SEG048 = IC_SEG_OFF; IC1_SEG042 = IC_SEG_OFF; IC1_SEG041 = IC_SEG_OFF; IC1_SEG039 = IC_SEG_OFF; IC1_SEG038 = IC_SEG_OFF; IC1_SEG044 = IC_SEG_OFF; IC1_SEG043 = IC_SEG_OFF; IC1_SEG040 = IC_SEG_OFF; } } else { ; } } /**@brief 时间显示函数 * @param[in] m_hour 小时 * @param[in] m_minute 分钟 * @param[in] m_icon 中间冒号是否显示 -1 显示 -0 不显示 * @param[in] m_Flag1 小时是否显示 -1 显示 -0 不显示 * @param[in] m_Flag2 分钟是否显示 -1 显示 -0 不显示 */ void SEG_SET_Clock(uint8_t m_hour, uint8_t m_minute, uint8_t m_icon, uint8_t m_Flag1, uint8_t m_Flag2) { uint8_t Num; uint8_t m8; if (m_icon == 1u) { IC2_SEG043 = IC_SEG_ON; } else { IC2_SEG043 = IC_SEG_OFF; } if (m_Flag1 == 1u) { Num = m_hour / 10u; /*86104-11*/ m8 = SEG_DISPLAY_NUMBER0[Num]; if (Bit_Is_Set(m8, 0)) { IC2_SEG033 = IC_SEG_ON; } else { IC2_SEG033 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC2_SEG032 = IC_SEG_ON; } else { IC2_SEG032 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC2_SEG037 = IC_SEG_ON; } else { IC2_SEG037 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC2_SEG036 = IC_SEG_ON; } else { IC2_SEG036 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC2_SEG035 = IC_SEG_ON; } else { IC2_SEG035 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC2_SEG034 = IC_SEG_ON; } else { IC2_SEG034 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC2_SEG038 = IC_SEG_ON; } else { IC2_SEG038 = IC_SEG_OFF; } Num = m_hour % 10u; m8 = SEG_DISPLAY_NUMBER0[Num]; if (Bit_Is_Set(m8, 0)) { IC2_SEG030 = IC_SEG_ON; } else { IC2_SEG030 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC2_SEG029 = IC_SEG_ON; } else { IC2_SEG029 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC2_SEG042 = IC_SEG_ON; } else { IC2_SEG042 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC2_SEG041 = IC_SEG_ON; } else { IC2_SEG041 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC2_SEG040 = IC_SEG_ON; } else { IC2_SEG040 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC2_SEG031 = IC_SEG_ON; } else { IC2_SEG031 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC2_SEG039 = IC_SEG_ON; } else { IC2_SEG039 = IC_SEG_OFF; } } else { IC2_SEG033 = IC_SEG_OFF; IC2_SEG032 = IC_SEG_OFF; IC2_SEG037 = IC_SEG_OFF; IC2_SEG036 = IC_SEG_OFF; IC2_SEG035 = IC_SEG_OFF; IC2_SEG034 = IC_SEG_OFF; IC2_SEG038 = IC_SEG_OFF; IC2_SEG030 = IC_SEG_OFF; IC2_SEG029 = IC_SEG_OFF; IC2_SEG042 = IC_SEG_OFF; IC2_SEG041 = IC_SEG_OFF; IC2_SEG040 = IC_SEG_OFF; IC2_SEG031 = IC_SEG_OFF; IC2_SEG039 = IC_SEG_OFF; } if (m_Flag2 == 1u) { Num = m_minute / 10u; m8 = SEG_DISPLAY_NUMBER0[Num]; if (Bit_Is_Set(m8, 0)) { IC2_SEG027 = IC_SEG_ON; } else { IC2_SEG027 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC2_SEG026 = IC_SEG_ON; } else { IC2_SEG026 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC2_SEG046 = IC_SEG_ON; } else { IC2_SEG046 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC2_SEG045 = IC_SEG_ON; } else { IC2_SEG045 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC2_SEG044 = IC_SEG_ON; } else { IC2_SEG044 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC2_SEG028 = IC_SEG_ON; } else { IC2_SEG028 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC2_SEG047 = IC_SEG_ON; } else { IC2_SEG047 = IC_SEG_OFF; } Num = m_minute % 10u; m8 = SEG_DISPLAY_NUMBER0[Num]; if (Bit_Is_Set(m8, 0)) { IC2_SEG024 = IC_SEG_ON; } else { IC2_SEG024 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 1)) { IC2_SEG023 = IC_SEG_ON; } else { IC2_SEG023 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 2)) { IC2_SEG051 = IC_SEG_ON; } else { IC2_SEG051 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 3)) { IC2_SEG050 = IC_SEG_ON; } else { IC2_SEG050 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 4)) { IC2_SEG049 = IC_SEG_ON; } else { IC2_SEG049 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 5)) { IC2_SEG025 = IC_SEG_ON; } else { IC2_SEG025 = IC_SEG_OFF; } if (Bit_Is_Set(m8, 6)) { IC2_SEG048 = IC_SEG_ON; } else { IC2_SEG048 = IC_SEG_OFF; } } else { IC2_SEG027 = IC_SEG_OFF; IC2_SEG026 = IC_SEG_OFF; IC2_SEG046 = IC_SEG_OFF; IC2_SEG045 = IC_SEG_OFF; IC2_SEG044 = IC_SEG_OFF; IC2_SEG028 = IC_SEG_OFF; IC2_SEG047 = IC_SEG_OFF; IC2_SEG024 = IC_SEG_OFF; IC2_SEG023 = IC_SEG_OFF; IC2_SEG051 = IC_SEG_OFF; IC2_SEG050 = IC_SEG_OFF; IC2_SEG049 = IC_SEG_OFF; IC2_SEG025 = IC_SEG_OFF; IC2_SEG048 = IC_SEG_OFF; } } uint8_t fuel_check_SEG_step = 0; void SEG_Scan_SET_Fuel_Coolant_Dial(uint8_t coolant) { uint8_t a = 0; a = fuel_check_SEG_step / 10u; SEG_SET_FuelDial(1, a); SEG_SET_CoolantDial(1, a, coolant, 1); if (fuel_check_SEG_step < 59) { fuel_check_SEG_step++; } else { fuel_check_SEG_step = 0; } } uint8_t Espeed_check_SEG_step = 0; void SEG_Scan_SET_EspeedDial(void) { uint8_t a = 0; a = (Espeed_check_SEG_step / 10) ; SEG_SET_EspeedDial(1, a); } uint8_t check_SEG_step = 0; /*仪表段码扫描函数*/ void Check_SEG_Display(void) { uint8_t a; uint8_t i = 0; a = check_SEG_step / 25u; SEG_SET_ODO_TRIP_FAULTCODE_TCS_DIS(1, ((a * 11111) + 100000), 0); SEG_SET_VSpeed_NUM(1u, (100u + (a * 10u) + a), 0); SEG_SET_Clock(((a * 10u) + a), ((a * 10u) + a), 1u, 1u, 1u); LED_Driver_Channel_Set(LampChannel_0, LampCh0_07_Screen_Time, LED_ON); #if (IC_Current == TY200_080000b_ty) SEG_SET_TPMS_DISPLAY(1, a * 11, a * 11, 0, 1, 1); #endif SEG_SET_Voltage_NUM(1, a * 111); SEG_SET_Navigation_STS(1, 3, a * 111100); for (i = 0; i < SEG_LED_MAX; i++) { SEG_SET_LED_STS(i, 1); } SEG_Scan_SET_Fuel_Coolant_Dial((a * 11) + 100); SEG_Scan_SET_EspeedDial(); } uint8_t Checkself_SEG_step = 0; uint8_t Checkself_SEG_step_count = 0; void Checkself_Init(void) { Checkself_SEG_step = 0; Checkself_SEG_step_count = 0; check_SEG_step = 0; Espeed_check_SEG_step = 0; fuel_check_SEG_step = 0; } void Checkself_SEG_Display(void) { uint16_t Vspeed = 0; uint16_t Espeed = 0; uint8_t Fuel = 0; uint16_t collant = 0; uint16_t TPMS_dis = 0; uint16_t voltage = 0; uint8_t hour = 0; uint8_t min = 0; uint32_t ODO = 0; uint32_t Mileage = 0; if (Common_GetIgnOnTime() >= 150) { if (Checkself_SEG_step_count < 60) { Checkself_SEG_step_count++; } else { Checkself_SEG_step_count = 60; } if (Checkself_SEG_step_count <= 29) { Checkself_SEG_step++; } else { if (Checkself_SEG_step == 0) { Checkself_SEG_step = 0; } else { Checkself_SEG_step--; } } } Mileage = ((Checkself_SEG_step / 3) * 111100); Fuel = Checkself_SEG_step / 5u; collant = 100 + ((Checkself_SEG_step / 3) * 11); Espeed = (Checkself_SEG_step * 5 / 6) * 500; Vspeed = ((Checkself_SEG_step / 3) * 11) + 100; ODO = ((Checkself_SEG_step / 3) * 11111) + 100000; hour = (Checkself_SEG_step / 3) * 11; min = (Checkself_SEG_step / 3) * 11; voltage = (Checkself_SEG_step / 3) * 111; SEG_SET_Navigation_STS(1, 3, Mileage); SEG_SET_FuelDial(1, Fuel); SEG_SET_CoolantDial(1, Fuel, collant, 1); SEG_SET_EspeedDial(1, Espeed / 500); SEG_SET_VSpeed_NUM(1, Vspeed, 0); SEG_SET_ODO_TRIP_FAULTCODE_TCS_DIS(1, ODO, 0); SEG_SET_Voltage_NUM(1, voltage); SEG_SET_Clock(hour, min, 1, 1, 1); LED_Driver_Channel_Set(LampChannel_0, LampCh0_07_Screen_Time, LED_ON); #if (IC_Current == TY200_080000b_ty) TPMS_dis = (Checkself_SEG_step / 3) * 11; SEG_SET_TPMS_DISPLAY(1, TPMS_dis, TPMS_dis, 0, 1, 1); LED_Driver_Channel_Set(LampChannel_0, LampCh0_03, LED_ON); LED_Driver_Channel_Set(LampChannel_0, LampCh0_04, LED_ON); #endif } void TYW_Check_Count(void) { if ((ClearODO_Flag == 1) && (Common_Get_IG_Sts( ) == COMMON_POWER_ON)) { if (check_SEG_step < 249u) { check_SEG_step++; } else { check_SEG_step = 0u; } if (Espeed_check_SEG_step < 249) { Espeed_check_SEG_step++; } else { Espeed_check_SEG_step = 0; } } }