WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
pwm.h
浏览该文件的文档.
1
10#ifndef PWM_H
11#define PWM_H
12
13#include <stdint.h>
14#include <stdbool.h>
15#include "errcode.h"
16
17#ifdef __cplusplus
18#if __cplusplus
19extern "C" {
20#endif /* __cplusplus */
21#endif /* __cplusplus */
22
36typedef struct pwm_config {
37 uint32_t low_time;
44 uint32_t high_time;
51 uint32_t offset_time;
53 uint16_t cycles;
55 bool repeat;
58
72typedef errcode_t (*pwm_callback_t)(uint8_t channel);
73
86
94void uapi_pwm_deinit(void);
95
111errcode_t uapi_pwm_open(uint8_t channel, const pwm_config_t *cfg);
112
126errcode_t uapi_pwm_close(uint8_t channel);
127
141errcode_t uapi_pwm_start(uint8_t channel);
142
154uint32_t uapi_pwm_get_frequency(uint8_t channel);
155
156#if defined(CONFIG_PWM_USING_V150)
170errcode_t uapi_pwm_stop(uint8_t channel);
171
193errcode_t uapi_pwm_update_duty_ratio(uint8_t channel, uint32_t low_time, uint32_t high_time);
194#endif /* CONFIG_PWM_USING_V150 */
195
209errcode_t uapi_pwm_isr(uint8_t channel);
210
226errcode_t uapi_pwm_register_interrupt(uint8_t channel, pwm_callback_t callback);
227
242
243#if defined(CONFIG_PWM_USING_V151)
261errcode_t uapi_pwm_set_group(uint8_t group, const uint8_t *channel_set, uint32_t channel_set_len);
262
277
293
308
309#if defined(CONFIG_PWM_PRELOAD)
327errcode_t uapi_pwm_config_preload(uint8_t group, uint8_t channel, const pwm_config_t *cfg);
328#endif /* CONFIG_PWM_PRELOAD */
329#endif /* CONFIG_PWM_USING_V151 */
330
335#ifdef __cplusplus
336#if __cplusplus
337}
338#endif /* __cplusplus */
339#endif /* __cplusplus */
340
341#endif
uint32_t errcode_t
Definition of error code.
Definition errcode.h:30
errcode_t uapi_pwm_isr(uint8_t channel)
PWM中断服务例程。
Definition pwm.c:256
errcode_t uapi_pwm_register_interrupt(uint8_t channel, pwm_callback_t callback)
为PWM注册中断回调。
Definition pwm.c:269
uint32_t uapi_pwm_get_frequency(uint8_t channel)
获取PWM工作频率。
Definition pwm.c:219
errcode_t uapi_pwm_init(void)
初始化PWM。
Definition pwm.c:68
struct pwm_config pwm_config_t
PWM配置类型定义。
errcode_t uapi_pwm_clear_group(uint8_t group)
清理PWM通道分组。
Definition pwm.c:321
errcode_t uapi_pwm_start(uint8_t channel)
开始PWM。
Definition pwm.c:188
void uapi_pwm_deinit(void)
去初始化PWM。
Definition pwm.c:88
errcode_t uapi_pwm_open(uint8_t channel, const pwm_config_t *cfg)
打开具有指定配置的PWM通道。
Definition pwm.c:109
errcode_t uapi_pwm_set_group(uint8_t group, const uint8_t *channel_set, uint32_t channel_set_len)
为PWM通道分组。
Definition pwm.c:296
errcode_t uapi_pwm_start_group(uint8_t group)
启动指定分组的PWM。
Definition pwm.c:335
errcode_t uapi_pwm_close(uint8_t channel)
关闭指定的PWM。
Definition pwm.c:152
errcode_t uapi_pwm_stop_group(uint8_t group)
停止指定分组的PWM。
Definition pwm.c:349
errcode_t(* pwm_callback_t)(uint8_t channel)
PWM 回调类型定义。
Definition pwm.h:72
errcode_t uapi_pwm_unregister_interrupt(uint8_t channel)
去注册中断回调。
Definition pwm.c:282
osal_u32 group
Definition oal_net.h:3
PWM配置类型定义。
Definition pwm.h:36
uint32_t high_time
Definition pwm.h:44
uint16_t cycles
Definition pwm.h:53
uint32_t offset_time
Definition pwm.h:51
uint32_t low_time
Definition pwm.h:37
bool repeat
Definition pwm.h:55