1.2. GPTIMER
gptimer支持计数、延时、定时、PWM、捕获。捕获模式支持滤波,双边沿触发。
demo请参考 gptimer_demo.c 文件。
1.2.1. gptimer_init
gptimer模块资源初始化。
原型:
u32 gptimer_init(const timer_dev timerx, const struct gptimer_config *gt_cfg);
参数:
timerx
选择一个gptimer模块
gt_cfg
gptimer配置
返回值
tid
1.2.2. gptimer_deinit
gptimer资源释放。
原型:
u32 gptimer_deinit(u32 tid);
参数:
tid
init时返回的tid
返回值
0
1.2.3. gptimer_start
gptimer模块启动。
原型:
u32 gptimer_start(u32 tid);
参数:
tid
init时返回的tid
返回值
0
1.2.4. gptimer_pause
gptimer模块暂停。
原型:
u32 gptimer_pause(u32 tid);
参数:
tid
init时返回的tid
返回值
保留
1.2.5. gptimer_resume
gptimer模块恢复。
原型:
u32 gptimer_resume(u32 tid);
参数:
tid
init时返回的tid
返回值
保留
1.2.6. gptimer_set_timer_period
设置timer功能定时周期,单位us。
原型:
u32 gptimer_set_timer_period(u32 tid, u32 period_us);
参数:
tid
init时返回的tid
period_us
定时周期,单位:us
返回值
0
1.2.7. gptimer_get_timer_period
获取timer功能定时周期,单位us。
原型:
u32 gptimer_set_timer_period(u32 tid);
参数:
tid
init时返回的tid
返回值
定时周期,单位:us
1.2.8. gptimer_set_pwm_freq
设置pwm功能输出频率,单位Hz。
原型:
u32 gptimer_set_pwm_freq(u32 tid, u32 freq);
参数:
tid
init时返回的tid
freq
输出频率,单位:Hz
返回值
0
1.2.9. gptimer_get_pwm_freq
获取pwm功能输出频率,单位Hz。
原型:
u32 gptimer_get_pwm_freq(u32 tid);
参数:
tid
init时返回的tid
返回值
输出频率,单位:Hz
1.2.10. gptimer_set_pwm_duty
设置pwm功能输出占空比。
原型:
u32 gptimer_set_pwm_duty(u32 tid, u32 duty);
参数:
tid
init时返回的tid
duty
占空比,例:5123,占空比51.23%
返回值
0
1.2.11. gptimer_get_pwm_duty
获取pwm功能输出占空比。
原型:
u32 gptimer_get_pwm_duty(u32 tid);
参数:
tid
init时返回的tid
返回值
占空比,例:5123,占空比51.23%
1.2.12. gptimer_set_pwm_port
设置pwm输出IO。
原型:
u32 gptimer_set_pwm_port(u32 tid, enum gpio_port port, u32 pin);
参数:
tid
init时返回的tid
port
输出IO,例:输出A组口,PORTA
pin
输出IO,例如,输出第0引脚,BIT(0)
返回值
0
1.2.13. gptimer_pwm_flip
翻转pwm输出。
原型:
u32 gptimer_pwm_flip(u32 tid);
参数:
tid
init时返回的tid
返回值
0
1.2.14. gptimer_pwm_enable
pwm输出使能。
原型:
u32 gptimer_pwm_enable(u32 tid);
参数:
tid
init时返回的tid
返回值
0
1.2.15. gptimer_pwm_disable
pwm输出禁用。
原型:
u32 gptimer_pwm_disable(u32 tid);
参数:
tid
init时返回的tid
返回值
0
1.2.16. gptimer_set_capture_edge_type
设置capture功能捕获边沿,边沿类型:上升沿、下降沿、双边沿。
原型:
u32 gptimer_set_capture_edge_type(u32 tid, enum gptimer_mode edge_type);
参数:
tid
init时返回的tid
edge_type
边沿类型
返回值
0
1.2.17. gptimer_get_capture_edge_type
获取capture功能捕获边沿。
原型:
enum gptimer_mode gptimer_get_capture_edge_type(u32 tid);
参数:
tid
init时返回的tid
返回值
边沿类型:上升沿、下降沿、双边沿
1.2.18. gptimer_set_irq_callback
设置中断回调函数。
原型:
u32 gptimer_set_irq_callback(u32 tid, void (*irq_cb)(u32 tid, void *private_data));
参数:
tid
init时返回的tid
irq_cb
回调函数
返回值
0
1.2.19. gptimer_set_work_mode
设置工作模式。
原型:
u32 gptimer_set_work_mode(u32 tid, enum gptimer_mode type);
参数:
1.2.20. gptimer_get_work_mode
获取当前工作模式。
原型:
enum gptimer_mode gptimer_get_work_mode(u32 tid);
参数:
tid
init时返回的tid
返回值
gptimer_mode 工作模式
1.2.21. gptimer_set_capture_filter
设置capture功能滤波参数。
原型:
u32 gptimer_set_capture_filter(u32 tid, u32 filter);
参数:
1.2.22. gptimer_get_capture_filter
获取capture功能滤波参数。
原型:
u32 gptimer_get_capture_filter(u32 tid);
参数:
tid
init时返回的tid
返回值
滤波参数,单位:us。
1.2.23. gptimer_set_capture_count
设置capture功能count计数器的原始值。
原型:
u32 gptimer_set_capture_count(u32 tid, u32 cnt);
参数:
tid
init时返回的tid
cnt
设置的cnt值
返回值
0
1.2.24. gptimer_get_capture_count
获取capture功能count计数器的原始值。
原型:
u32 gptimer_get_capture_count(u32 tid);
参数:
tid
init时返回的tid
返回值
count计数器原始值
1.2.25. gptimer_get_capture_cnt2us
获取capture功能捕获时间,单位us,捕获发生时调用有效。
原型:
u32 gptimer_get_capture_cnt2us(u32 tid);
参数:
tid
init时返回的tid
返回值
捕获时间,单位:us
1.2.26. gptimer_set_count
设置count计数器的原始值。
原型:
u32 gptimer_set_count(u32 tid, u32 cnt);
参数:
tid
init时返回的tid
cnt
设置的cnt值
返回值
0
1.2.27. gptimer_get_count
获取count计数器的原始值。
原型:
u32 gptimer_get_count(u32 tid);
参数:
tid
init时返回的tid
返回值
count计数器原始值
1.2.28. gptimer_set_prd
获取prd寄存器的原始值。
原型:
u32 gptimer_set_prd(u32 tid, prd);
参数:
tid
init时返回的tid
prd
设置的prd值
返回值
0
1.2.29. gptimer_get_prd
获取prd寄存器的原始值。
原型:
u32 gptimer_get_prd(u32 tid);
参数:
tid
init时返回的tid
返回值
prd寄存器原始值
1.2.30. gptimer_get_private_data
获取私有参数首地址。
原型:
void *gptimer_get_private_data(u32 tid);
参数:
tid
init时返回的tid
返回值
私有参数首地址
1.2.31. gptimer_set_private_data
设置私有参数。
原型:
void *gptimer_set_private_data(u32 tid, void *private_data);
参数:
1.2.32. gptimer_measure_time_init
“测时间”功能初始化。
原型:
u32 gptimer_measure_time_init(const timer_dev timerx, u32 max_time_us); //比实际时间少约40us
参数:
1.2.33. gptimer_measure_time_start
“测时间”功能启动。
原型:
u32 gptimer_measure_time_start(u32 tid);
参数:
tid
init时返回的tid
返回值
0
1.2.34. gptimer_measure_time_end
“测时间”功能停止,返回值为从 “启动” 到 “停止” 的时间间隔,单位us。
原型:
u32 gptimer_measure_time_end(u32 tid);
参数:
tid
init时返回的tid
返回值
“启动”到“停止”的时间间隔,单位:us
1.2.35. gptimer_dump
打印当前所有gptimer寄存器信息。
原型:
u32 gptimer_dump();
参数:
返回值
空