#include "Timer_Module.h" #include "CONFIG.h" // ¶¨Ê±Æ÷ static uint32_t timer_ms = 0; void my_timer() { timer_ms++; } uint32_t get_time(void) { return timer_ms; } uint32_t get_time_diff(uint32_t time) { if(timer_ms >= time) { return timer_ms - time; } else { return 0xFFFFFFFF - time + timer_ms; } } uint32_t time_get_delay(struct TIMER_Struct * timer) { if(timer->flag == 0) { timer->flag = 1; timer->time = get_time(); return 0; } else if(timer->flag == 1) { return get_time_diff(timer->time); } else { return 0; } } void time_clear(struct TIMER_Struct * timer) { timer->flag = 0; timer->time = 0; } // ÑÓʱº¯Êý void my_delay_ms(uint32_t ms) { struct TIMER_Struct timer = { .time = 0, .flag = 0, }; while(time_get_delay(&timer) < ms){} }