表 3 DacWrite参数和返回值描述

class="table-box">
参数参数描述
handleDevHandle类型,DAC设备句柄。
channeluint32_t类型,DAC设备通道号。
valuint32_t类型,设置DA的值。
返回值返回值描述
HDF_SUCCESS写入DA目标值成功
负数写入DA目标值失败
// 通过DAC_CHANNEL_NUM设备通道写入目标val值
int32_t ret;
ret = DacWrite(dacHandle, DAC_CHANNEL_NUM, val);
if (ret != HDF_SUCCESS) {
    HDF_LOGE("DacWrite: tp DAC write reg fail!,ret:%d", ret);
    DacClose(dacHandle);
    return ret;
}
c
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">
关闭DAC设备

DAC通信完成之后,需要关闭DAC设备,关闭函数如下所示:

void DacClose(DevHandle handle);
c
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">

表 4 DacClose参数和返回值描述

class="table-box">
参数参数描述
handleDAC设备句柄。
返回值返回值描述

关闭DAC设备示例:

DacClose(dacHandle);    // 关闭DAC设备
c
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">

使用实例

DAC设备的具体使用方式可以参考如下示例代码,示例代码步骤主要如下:

  1. 根据设备号DAC_DEVICE_NUM打开DAC设备得到设备句柄。

  2. 通过DAC的设备号以及设备通道设置val的值,如果写入失败则关闭设备句柄。

  3. 访问完毕DAC设备后,则关闭该设备句柄。

运行结果:根据输入的val通过打印日志得到输出的结果。

#include "dac_if.h"          // DAC标准接口头文件
#include "hdf_log.h"         // 标准日志打印头文件

// 设备号0,通道号1 
#define DAC_DEVICE_NUM 0
#define DAC_CHANNEL_NUM 1

// DAC例程总入口 
static int32_t TestCaseDac(void)
{
    // 设置要写入的val值
    uint32_t val = 2;
    int32_t ret;
    DevHandle dacHandle;

    // 打开DAC设备 
    dacHandle = DacOpen(DAC_DEVICE_NUM);
    if (dacHandle == NULL) {
        HDF_LOGE("%s: Open DAC%u fail!", __func__, DAC_DEVICE_NUM);
        return -1;
    }

    // 写入数据 
    ret = DacWrite(dacHandle, DAC_CHANNEL_NUM, val);
    if (ret != HDF_SUCCESS) {
        HDF_LOGE("%s: tp DAC write reg fail!:%d", __func__, ret);
        DacClose(dacHandle);
        return -1;
    }

    // 访问完毕关闭DAC设备 
    DacClose(dacHandle);
    HDF_LOGI("%s: function tests end.", __func__);
    return 0;
}
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}"> class="hide-preCode-box">

如果大家想更加深入的学习 OpenHarmony(鸿蒙南向) 开发的全栈内容,不妨可以参考以下相关学习文档进行学习,助你快速提升自己:

OpenHarmony 开发环境搭建:https://qr18.cn/CgxrRy

《OpenHarmony源码解析》:https://qr18.cn/CgxrRy

系统架构分析:https://qr18.cn/CgxrRy

OpenHarmony 设备开发学习手册:https://qr18.cn/CgxrRy

在这里插入图片描述

OpenHarmony面试题(内含参考答案):https://qr18.cn/CgxrRy

写在最后

data-report-view="{"mod":"1585297308_001","spm":"1001.2101.3001.6548","dest":"https://blog.csdn.net/maniuT/article/details/141071307","extend1":"pc","ab":"new"}">> id="blogExtensionBox" style="width:400px;margin:auto;margin-top:12px" class="blog-extension-box"> class="blog_extension blog_extension_type2" id="blog_extension"> class="extension_official" data-report-click="{"spm":"1001.2101.3001.6471"}" data-report-view="{"spm":"1001.2101.3001.6471"}"> class="blog_extension_card_left"> class="blog_extension_card_cont"> 鸿蒙开发学习资料领取!!! class="blog_extension_card_cont_r"> 微信名片
注:本文转载自blog.csdn.net的沧海一笑-dj的文章"https://blog.csdn.net/dengjin20104042056/article/details/99698356"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接

评论记录:

未查询到任何数据!