#pragma once #include #include "basic_h/basic.hpp" extern "C" { // 微秒延迟定时器,注意该延时定时器需要按照以下文档进行配置 // http://192.168.1.3:3000/zwikipedia/iflytop_wikipedia/src/branch/master/doc/stm32cubemx_us_timer.md typedef struct { zchip_tim_t* usdleaytim; } zchip_clock_cfg_t; uint32_t zchip_clock_init(zchip_clock_cfg_t* cfg); uint32_t zchip_clock_get_ticket(void); uint32_t zchip_clock_hasspassed(uint32_t ticket); void zchip_clock_early_delayus(uint32_t us); void zchip_clock_early_delayus2(uint32_t us) __attribute__((optimize("O2"))); void zchip_clock_early_delayus_timer_start() __attribute__((optimize("O2"))); uint32_t zchip_clock_early_delayus_timer_haspassed() __attribute__((optimize("O2"))); void zchip_clock_early_delayus_timer_stop() __attribute__((optimize("O2"))); }