ad0x0_perf.c 462 B

123456789101112131415161718192021222324
  1. //#include "main.h"
  2. #include <string.h>
  3. #include "ad0x0_perf.h"
  4. ad0x0_perf_s perfs;
  5. void ad0x0_perf_init(void){
  6. __disable_irq();
  7. memset(&perfs,0,sizeof(ad0x0_perf_s));
  8. perfs.idle=1;
  9. __enable_irq();
  10. }
  11. void ad0x0_perf_tick_task(void){
  12. perfs.t1++;
  13. }
  14. void ad0x0_perf_tick_idle(void){
  15. perfs.idle++;
  16. if(perfs.idle>1000)ad0x0_perf_init();
  17. }
  18. uint8_t ad0x0_get_perf(void){
  19. uint8_t res=perfs.t1 / (perfs.idle + perfs.t1);
  20. return res;
  21. }