表 3 AdcRead参数和返回值描述

class="table-box">
参数参数描述
handleDevHandle类型,ADC设备句柄
channeluint32_t类型,ADC设备通道号
valuint32_t类型指针,AD转换结果
class="table-box">
返回值返回值描述
HDF_SUCCESS读取成功
负数读取失败

读取转换结果示例(以通道1为例):

uint32_t value;
int32_t ret;

ret = AdcRead(adcHandle, 1, &value);
if (ret != HDF_SUCCESS) {
    HDF_LOGE("ADC read fail!\n");
    return ret;
}
c
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">
关闭ADC设备

ADC通信完成之后,需要关闭ADC设备。

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

表 4 AdcClose参数和返回值描述

class="table-box">
参数参数描述
handleDevHandle类型,ADC设备句柄
返回值返回值描述

关闭ADC设备示例:

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

使用实例

本例拟对Hi3516DV300开发板上ADC设备进行简单的读取操作,基本硬件信息如下:

本例程对测试ADC进行连续读取操作,测试ADC功能是否正常。

示例如下:

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

/// 设备号0,通道号1
#define ADC_DEVICE_NUM  0
#define ADC_CHANNEL_NUM 1
#define ADC_TEST_NUM    30

// ADC例程总入口
static int32_t TestCaseAdc(void)
{
    int32_t i;
    int32_t ret;
    DevHandle adcHandle = NULL;
    uint32_t readBuf[ADC_TEST_NUM] = {0};

    // 打开ADC设备
    adcHandle = AdcOpen(ADC_DEVICE_NUM);
    if (adcHandle == NULL) {
        HDF_LOGE("%s: Open ADC%u fail!", __func__, ADC_DEVICE_NUM);
        return -1;
    }

    // 连续进行30次AD转换并读取转换结果
    for (i = 0; i < ADC_TEST_NUM; i++) {
        ret = AdcRead(adcHandle, ADC_CHANNEL_NUM, &readBuf[i]);
        if (ret != HDF_SUCCESS) {
            HDF_LOGE("%s: ADC read fail!:%d", __func__, ret);
            AdcClose(adcHandle);
            return -1;
        }
    }
    HDF_LOGI("%s: ADC read successful!", __func__);

    // 访问完毕关闭ADC设备
    AdcClose(adcHandle);

    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/141071096","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/99686548"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接

评论记录:

未查询到任何数据!