1943|2

153

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

csi_pwm_init功能 [复制链接]

 

请问设备句柄和设备好是什么意思呢?ret = csi_pwm_init(&r, 0)实现了一个怎样的初始化功能呢?

 

 

 

csi_error_t csi_pwm_init(csi_pwm_t *pwm, uint32_t idx)
{
    CSI_PARAM_CHK(pwm, CSI_ERROR);
    csi_error_t ret = CSI_OK;
    wj_pwm_regs_t *pwm_base = NULL;

    if (0 == target_get(DEV_WJ_PWM_TAG, idx, &pwm->dev)) {
        pwm_base = (wj_pwm_regs_t *)HANDLE_REG_BASE(pwm);
        wj_pwm_reset_register(pwm_base);
    } else {
        ret = CSI_ERROR;
    }

    return ret;
}

 

最新回复

平头哥芯片开放社区(OCC) | 基础软件平台,集成开发工具,YoC铁三角,组件,玄铁CPU,RISC-V,平头哥,平头哥芯片开放社区,OCC,芯片,YoC,ISV,YoC,剑池CDK,C-SKY,安卓,AOSP,IoT,AI,物联网,应用物联网,解决方案极简开发,高性能优化,安全,IoT专属组件,开发资源,代码,开源,开放,生态,FOTA,工程,嵌入式开发,智能家居,智能,电工,照明,智慧工业,智慧物流,智慧供应链,硬件,软件,天猫精灵,阿里云智能灯带,语音,风扇 (t-head.cn) 使用这个里边的pwm吧,经过hal接口的封装,使用起来更简单。csi是hal的底层接口。   详情 回复 发表于 2022-3-21 14:23
点赞 关注
 
 

回复
举报

862

帖子

2

TA的资源

纯净的硅(初级)

沙发
 

pwm_dev_t

typedef struct {

uint8_t port; /* pwm port */

pwm_config_t config; /* spi config */

void *priv; /* priv data */

} pwm_dev_t;

pwm_config_t

typedef struct {

float duty_cycle; /* the pwm duty_cycle */

uint32_t freq; /* the pwm freq */

} pwm_config_t;

pwm设备句柄其实就是一个包含pwm设置的相关参数的复杂结构体。通过以上可以看到,里边有结构体的嵌套,pwm_dev_t结构体内还有pwm_config_t结构体。

pwm_dev_t.port 定义PWM可用的端口号,最后就是pwm输出的引脚。

pwm_config_t而这个结构体主要定义了pwm运行时的周期和占空比。

不要被 那个     句柄  吓坏了。

 

个人签名水不撩不知深浅 人不拼怎知输赢
 
 
 

回复

862

帖子

2

TA的资源

纯净的硅(初级)

板凳
个人签名水不撩不知深浅 人不拼怎知输赢
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表