#pragma once #include void busyWaitDuring_initMode (INIT_MODE_ const uint32_t inDelayMS); void busyWaitDuring (USER_MODE_ const uint32_t inDelayMS); void busyWaitUntil (USER_MODE_ const uint32_t inDeadLineMS); // Prevent default SysTick interruption code generation //$interrupt-section SysTick void systickInterruptServiceRoutine (SECTION_MODE) asm ("interrupt.section.SysTick"); uint32_t millis(ANY_MODE); //$section fonction.micros uint64_t micros (USER_MODE) asm ("fonction.micros") ; uint64_t section_micros (SECTION_MODE) asm ("section.fonction.micros") ; uint32_t systick(ANY_MODE); #define MACRO_REAL_TIME_ISR(ROUTINE) \ static void (* UNIQUE_IDENTIFIER) (SECTION_MODE_ const uint32_t inUptime) \ __attribute__ ((section ("real.time.interrupt.routine.array"))) \ __attribute__ ((unused)) \ __attribute__ ((used)) = ROUTINE ;