system - 副本 (2).h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #ifndef __system_h__
  2. #define __system_h__
  3. #include <stdbool.h>
  4. #include <stdint.h>
  5. #include <string.h>
  6. #include "sdk_common.h"
  7. #include "SEGGER_RTT.h"
  8. #include "usr_config.h"
  9. typedef void (*Sleep_cb)(uint32_t);
  10. typedef void (*PROCESS_cb)(void);
  11. typedef struct _PROCESS{ //进程结构体
  12. uint8_t holdon; //进程是否可进入低功耗模式
  13. uint32_t error; //进程错误代码
  14. uint16_t Peroid; //进程周期
  15. uint32_t tim; //进程时间搓
  16. PROCESS_cb cb; //进程函数
  17. uint8_t runflag; //进程运行标志位
  18. struct _PROCESS *next; //单向链表
  19. #if ProcessTime_EN
  20. char name_t[20]; //进程
  21. uint32_t cnt1_rtc; //RTC开始时间
  22. uint32_t cnt2_rtc; //RTC结束时间
  23. #endif
  24. }PROCESS_t;
  25. int Sleep_Regist(Sleep_cb cb); //休眠之前的回调注册
  26. int Wakeup_Regist(Sleep_cb cb); //休眠醒来的回调注册
  27. void Sleep_Event(void);
  28. int Process_Start(uint32_t peroid,const char *name,PROCESS_cb cb); //app进程开始
  29. void Process_Stop(PROCESS_cb cb); //app进程停止
  30. void Process_SetHoldOn(PROCESS_cb cb,uint8_t holdon); //app进程是否可进入低功耗模式
  31. void Process_SetError(PROCESS_cb cb,uint8_t error); //app进程错误代码
  32. void Process_UpdatePeroid(PROCESS_cb cb,uint16_t Peroid);
  33. uint16_t Process_GetPeroid(PROCESS_cb cb);
  34. #if LOSSPACK_ENANBLE
  35. void LossPack_process(void);
  36. #endif
  37. #endif