AppTaskMain.c 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. /*
  2. * AppTaskMain.c
  3. *
  4. * Created on: 2022Äê2ÔÂ22ÈÕ
  5. * Author: QiXiang_CHENJIE
  6. */
  7. #include "AppTaskMain.h"
  8. #include "hal_fls.h"
  9. static void vTimerCallback(TimerHandle_t pxTimer);
  10. extern uint32 timerCANIdle;
  11. void MainTask(void *pvParameters)
  12. {
  13. (void)pvParameters;
  14. TimerHandle_t monitorTimer;
  15. monitorTimer = xTimerCreate("monitor",10,pdTRUE,(void *)0,vTimerCallback);
  16. xTimerStart(monitorTimer,0);
  17. TimerHandle_t monitorTimer1ms;
  18. monitorTimer1ms = xTimerCreate("monitor1ms",1,pdTRUE,(void *)0,vTimer1msCallback);
  19. xTimerStart(monitorTimer1ms,0);
  20. sleep_mutex = xSemaphoreCreateBinary();
  21. uint32 *eppromAddStart = 0x14000000;
  22. if(*(uint8 *)(eppromAddStart)==0xff)
  23. {
  24. HAL_EEP_Write(0,(uint8 *)&AppConfigInfo,sizeof(AppConfigInfo));
  25. }
  26. HAL_EEP_Read(0,(uint8 *)&AppConfigInfo,sizeof(AppConfigInfo));
  27. while(1)
  28. {
  29. vTaskDelay(pdMS_TO_TICKS(10));
  30. if(HAL_Is100msTickTimeout())
  31. {
  32. if(IsFeedWdg == TRUE)
  33. {
  34. WATCHDOG_HAL_Feed();
  35. }
  36. }
  37. if(AppConfigInfo.appSaveFlg)
  38. {
  39. AppConfigInfo.appSaveFlg = false;
  40. HAL_EEP_Write(0,(uint8 *)&AppConfigInfo,sizeof(AppConfigInfo));
  41. }
  42. if(Fota_update_flag || Fota_error_flag)
  43. {
  44. //ÖØÆôÇ°±£´æÊý¾Ý
  45. AppConfigInfo.appSaveFlg = false;
  46. HAL_EEP_Write(0,(uint8 *)&AppConfigInfo,sizeof(AppConfigInfo));
  47. SystemSoftwareReset();
  48. }
  49. MCUEnterSleep();
  50. // if(pdTRUE == xSemaphoreTake(sleep_mutex,1))
  51. // {
  52. // extern boolean Uart_4G_Task_Sleep_FLag;
  53. // WdgDeInit();
  54. // do
  55. // {
  56. // waitForSleepFlag = true;
  57. // vTaskDelay(pdMS_TO_TICKS(10));
  58. // }while(Uart_4G_Task_Sleep_FLag == false);
  59. //
  60. // vTaskDelete(Uart_Hal_RecvTask_Handle);
  61. // vTaskDelete(Uart_Hal_SendTask_Handle);
  62. // vTaskDelete(CanTask_Handle);
  63. // vTaskDelete(GpsTask_Handle);
  64. // vTaskDelete(Uart_4G_Task_Handle);
  65. //
  66. // SystemPeripheralDeinit();
  67. // MCUSleep();
  68. // vTaskDelete(MainTask_Handle);
  69. //for(;;)
  70. //{
  71. // vTaskDelay(pdMS_TO_TICKS(1000));
  72. //}
  73. //
  74. // coreInit();
  75. // SystemModulesInit();
  76. // waitForSleepFlag = false;
  77. // Uart_4G_Task_Sleep_FLag = false;
  78. /* Initialize all pins*/
  79. // #if (PORT_PRECOMPILE_SUPPORT == STD_ON)
  80. // Port_Init(NULL_PTR);
  81. // #elif (PORT_PRECOMPILE_SUPPORT == STD_OFF)
  82. // Port_Init(&Port_Config_VS_0);
  83. // #endif
  84. // vTaskDelay(pdMS_TO_TICKS(100));
  85. // vTaskDelay(pdMS_TO_TICKS(100));
  86. // currentMode = Mcu_GetPowerModeState();
  87. // Dio_WriteChannel(DioConf_DioChannel_PTE9_GPIO_OUT_MCU_LED5, STD_OFF);
  88. // vTaskDelay(pdMS_TO_TICKS(500));
  89. // Icu_DeInit();
  90. //4G module power on
  91. // vTaskDelay(pdMS_TO_TICKS(1000));
  92. // timerCANIdle = 0;
  93. // Dio_WriteChannel(DioConf_DioChannel_PTA6_GPIO_OUT_MCU_4G_POW_EN, STD_ON);
  94. // vTaskDelay(pdMS_TO_TICKS(1000));
  95. // Dio_WriteChannel(DioConf_DioChannel_PTA7_GPIO_OUT_MCU_4G_PWRKEY, STD_ON);
  96. // vTaskDelay(pdMS_TO_TICKS(500));
  97. // Dio_WriteChannel(DioConf_DioChannel_PTA7_GPIO_OUT_MCU_4G_PWRKEY, STD_OFF);
  98. //GPS module power on
  99. // Dio_WriteChannel(DioConf_DioChannel_PTD1_GPIO_OUT_MCU_GPS_POW_EN, STD_ON);
  100. // vTaskDelay(pdMS_TO_TICKS(1000));
  101. // vTaskResume(Uart_Hal_RecvTask_Handle);
  102. // vTaskResume(Uart_Hal_SendTask_Handle);
  103. // vTaskResume(CanTask_Handle);
  104. // vTaskResume(GpsTask_Handle);
  105. // vTaskResume(Uart_4G_Task_Handle);
  106. // }
  107. }
  108. }
  109. static void vTimerCallback(TimerHandle_t pxTimer)
  110. {
  111. uint32 ulTimerID;
  112. ulTimerID = (uint32)pvTimerGetTimerID(pxTimer);
  113. if(ulTimerID==0)
  114. {
  115. TimerCounter = TimerCounter + 10;
  116. }
  117. }