#include "Sys_Scheduler_Lib.h" #include "Application.h" #include "Components.h" #include "RTE.h" #include "UDS_ISO14229_Server.h" void Sys_Pseudo_Real_Time_Tasks(void) { Power_Management_Service(); DoCAN_Communication_Service(); UDS_Server_Application_Service(); BU98R10_Update_Service(); LED_Driver_Service(); } void Sys_2ms_Tasks(void) { Common_Input_Para(); Can_Write_Fun(&CAN_CH0_CanMsgTxOp, 2000u); Sys_Status_Update_Service(); Analog_Signal_Conv_Service(); CanMSg_XMS_Analysis(&CAN_CH0_CanMsgOp,2u); // if (RTE_GPIO_Get_Level(VSPEED_TEN_OUT)) // { // RTE_GPIO_Config(VSPEED_TEN_OUT, RTE_GPIO_DIR_OUT|RTE_GPIO_LEVEL_LOW); // } // else // { // RTE_GPIO_Config(VSPEED_TEN_OUT, RTE_GPIO_DIR_OUT|RTE_GPIO_LEVEL_HIGH); // } } void Sys_5ms_Tasks(void) { Flash_Sync_Signal_Generation_Service(); } uint8_t ljs_buf[200] = {0}; void Sys_10ms_Tasks(void) { memset(ljs_buf, 0x55, 200); Line_In_Debounce_Service(10u); Key_Service(); Data_Mileage_Write_EEPROM(); Can_BusOff_Recover(10u); Turn_Left_Right_Lamp(); Fuel_R_Cal(10u); TYW_Check_Count(); Data_TPMS_Processing_Service(); Protocol_Service(); Protocol_Send_Service(); //Uart0_IntSend(ljs_buf, 200) ; } void Sys_20ms_Tasks(void) { Key_Clear_Time(); Key_Auto_Save(); Data_Vehicle_Speed_Processing_Service(); Data_Engine_Speed_Processing_Service(); Data_Coolant_Temp_Processing_Service(); } void Sys_50ms_Tasks(void) { BU98R10_Update_Request(); LED_Driver_Scan_Refresh(); Telltales_Management(); Gauge_Service(); Key_Check_Service(); } uint8_t u8LEDDriverCheckCount = 0U; uint16_t ljs_voltage = 0; void Sys_100ms_Tasks(void) { if((PageType != Page_Time_Hour)&&(PageType != Page_Time_Minute)) { RTE_RTC_Get_CounterValue(&counter_val); counter_val.time.RTC_Hours = RTC_Bcd2ToByte(counter_val.time.RTC_Hours); counter_val.time.RTC_Minutes = RTC_Bcd2ToByte(counter_val.time.RTC_Minutes); } Fuel_Cal_Sevice(100u); BackLight_Process(); Services_Mileage_Callback(); Data_Voltage_Processing_Service(); S3_ServerCNTT(); //ECU_FaultCode_Processing_Service(); Send_UUID_To_Esp32(); ljs_voltage = ADC_Conv_Single_Channel(ADC_CH_KL15_VOLTAGE); if (u8LEDDriverCheckCount >= 10U) { u8LEDDriverCheckCount = 0U; LED_Driver_Work_Check(); LED_Driver_Service_Immediate();//注意顺序1 //ALS_Service();//注意顺序2 } else { u8LEDDriverCheckCount++; } } /** * @brief 50us中断服务 尽可能的减少中断使用 * */ void Sys_Exact_50us_Tasks(void) { static uint32_t task_1ms = 0u; DoCAN_Timer_Update(50u); GenDelay_Tick(); task_1ms++; if ( task_1ms >=20U ) { task_1ms =0U; eeprom_1ms_timeCount( ); } }