AppTaskMain.c 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /*
  2. * AppTaskMain.c
  3. *
  4. * Created on: 2022年2月22日
  5. * Author: QiXiang_CHENJIE
  6. */
  7. #include "AppTaskMain.h"
  8. static void vTimerCallback(TimerHandle_t pxTimer);
  9. void MainTask(void *pvParameters)
  10. {
  11. (void)pvParameters;
  12. TimerHandle_t monitorTimer;
  13. monitorTimer = xTimerCreate("monitor",10,pdTRUE,(void *)0,vTimerCallback);
  14. xTimerStart(monitorTimer,0);
  15. TimerHandle_t monitorTimer1ms;
  16. monitorTimer1ms = xTimerCreate("monitor1ms",1,pdTRUE,(void *)0,vTimer1msCallback);
  17. xTimerStart(monitorTimer1ms,0);
  18. uint32 *eppromAddStart = 0x14000000;
  19. if(*(uint8 *)(eppromAddStart)==0xff)
  20. {
  21. HAL_EEP_Write(0,(uint8 *)&AppConfigInfo,sizeof(AppConfigInfo));
  22. }
  23. HAL_EEP_Read(0,(uint8 *)&AppConfigInfo,sizeof(AppConfigInfo));
  24. while(1)
  25. {
  26. vTaskDelay(pdMS_TO_TICKS(10));
  27. if(HAL_Is100msTickTimeout())
  28. {
  29. if(IsFeedWdg == TRUE)
  30. {
  31. WATCHDOG_HAL_Feed();
  32. }
  33. }
  34. if(AppConfigInfo.appSaveFlg)
  35. {
  36. AppConfigInfo.appSaveFlg = false;
  37. HAL_EEP_Write(0,(uint8 *)&AppConfigInfo,sizeof(AppConfigInfo));
  38. }
  39. if(Fota_update_flag)//升级指令发出,进行重启
  40. {
  41. //重启前保存数据
  42. AppConfigInfo.appSaveFlg = false;
  43. HAL_EEP_Write(0,(uint8 *)&AppConfigInfo,sizeof(AppConfigInfo));
  44. DoResetECU();
  45. }
  46. }
  47. }
  48. static void vTimerCallback(TimerHandle_t pxTimer)
  49. {
  50. uint32 ulTimerID;
  51. ulTimerID = (uint32)pvTimerGetTimerID(pxTimer);
  52. if(ulTimerID==0)
  53. {
  54. TimerCounter = TimerCounter + 10;
  55. }
  56. }