You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

24 lines
858 B

1 year ago
  1. #pragma once
  2. #include <stdint.h>
  3. #include "basic_h/basic.hpp"
  4. extern "C" {
  5. // 微秒延迟定时器,注意该延时定时器需要按照以下文档进行配置
  6. // http://192.168.1.3:3000/zwikipedia/iflytop_wikipedia/src/branch/master/doc/stm32cubemx_us_timer.md
  7. typedef struct {
  8. zchip_tim_t* usdleaytim;
  9. } zchip_clock_cfg_t;
  10. uint32_t zchip_clock_init(zchip_clock_cfg_t* cfg);
  11. uint32_t zchip_clock_get_ticket(void);
  12. uint32_t zchip_clock_hasspassed(uint32_t ticket);
  13. void zchip_clock_early_delayus(uint32_t us);
  14. void zchip_clock_early_delayus2(uint32_t us) __attribute__((optimize("O2")));
  15. void zchip_clock_early_delayus_timer_start() __attribute__((optimize("O2")));
  16. uint32_t zchip_clock_early_delayus_timer_haspassed() __attribute__((optimize("O2")));
  17. void zchip_clock_early_delayus_timer_stop() __attribute__((optimize("O2")));
  18. }