123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- // 硬件定时器头文件
- #ifndef __OPENLOONGSON_TIMER_H
- #define __OPENLOONGSON_TIMER_H
- #include "ls1c_public.h"
- // 硬件定时器
- typedef enum
- {
- TIMER_PWM0, // PWM0用作硬件定时器
- TIMER_PWM1, // PWM1用作硬件定时器
- TIMER_PWM2, // PWM2用作硬件定时器
- TIMER_PWM3 // PWM3用作硬件定时器
- }ls1c_timer_t;
- // 硬件定时器信息
- typedef struct
- {
- ls1c_timer_t timer; // 硬件定时器
- unsigned long time_ns; // 定时时间
- }timer_info_t;
- /*
- * 初始化定时器,并开始定时
- * @timer_info 定时器和定时时间信息
- */
- void timer_init(timer_info_t *timer_info);
- /*
- * 判断指定定时器是否超时
- * @timer_info 定时器
- * @ret TRUE or FALSE
- */
- BOOL timer_is_time_out(timer_info_t *timer_info);
- /*
- * 停止定时器
- * @timer_info 定时器
- */
- void timer_stop(timer_info_t *timer_info);
- /*
- * 获取定时器从初始化到现在的时间(实现计时功能),单位ns
- * @timer_info 硬件定时器
- * @ret 时间,单位ns
- */
- unsigned long timer_get_time_ns(timer_info_t *timer_info);
- /*
- * 打印timer相关寄存器的值
- * @timer_info 硬件定时器
- */
- void timer_print_regs(timer_info_t *timer_info);
- #endif
|