time.h 700 B

123456789101112131415161718192021222324
  1. #pragma once
  2. #include <stdint.h>
  3. void busyWaitDuring_initMode (INIT_MODE_ const uint32_t inDelayMS);
  4. void busyWaitDuring (USER_MODE_ const uint32_t inDelayMS);
  5. void busyWaitUntil (USER_MODE_ const uint32_t inDeadLineMS);
  6. // Prevent default SysTick interruption code generation
  7. //$interrupt-section SysTick
  8. void systickInterruptServiceRoutine (SECTION_MODE) asm ("interrupt.section.SysTick");
  9. uint32_t millis(ANY_MODE);
  10. uint32_t systick(ANY_MODE);
  11. #define MACRO_REAL_TIME_ISR(ROUTINE) \
  12. static void (* UNIQUE_IDENTIFIER) (SECTION_MODE_ const uint32_t inUptime) \
  13. __attribute__ ((section ("real.time.interrupt.routine.array"))) \
  14. __attribute__ ((unused)) \
  15. __attribute__ ((used)) = ROUTINE ;