大家好,今天小白给大家介绍一下,关于mdm9206 threadx_os的adc操作相关的API,希望能和大家一起交流学习。

1 ADC简介

模数转换器(ADC)允许对模拟信号进行采样和数字表示。 SoC具有片上ADC,支持读取多个通道。 ADC可以执行单次和重复测量。ADC可通过静态参数进行配置。 有关静态定义的参数,可以参阅ADC可调参数板文件。该编程接口允许客户端软件配置通道,执行单个读数。

2.主要的API

a. qapi_Status_t qapi_ADC_Open ( qapi_ADC_Handle_t ∗ Handle, uint32_t Attributes )

功能:打开ADC以供软件客户端使用,只有在成功打开ADC后才能读取ADC客户端值。

参数:

out:Handle,指向ADC句柄的指针。

in: Attributes,保留参数。

返回值:

QAPI_OK  - 调用成功。

QAPI_ERROR  - 调用失败。

QAPI_ERR_INVALID_PARAM  - 指定了无效参数。

QAPI_ERR_NO_MEMORY  - 没有可用的内存来支持此操作。

QAPI_ERR_NO_RESOURCE  - 不再提供句柄。

b. qapi_Status_t qapi_ADC_Get_Input_Properties ( qapi_ADC_Handle_t

Handle, const char ∗ Channel_Name_Ptr, uint32_t Channel_Name_Size,

qapi_Adc_Input_Properties_Type_t ∗ Properties_Ptr )

功能:获取ADC通道配置,此函数用于获取ADC通道的属性。

参数:

in :Handle,由qapi_ADC_Open()提供的句柄。

in:Channel_Name_Ptr,指向ADC通道名称指针的指针。

in: Channel_Name_Size,通道名称字符串的大小。

out:Properties_Ptr, ADC通道配置。

返回值:

QAPI_OK  - 呼叫成功。

QAPI_ERROR  - 呼叫失败。

QAPI_ERR_INVALID_PARAM  - 指定了无效参数。

c.  qapi_Status_t qapi_ADC_Read_Channel ( qapi_ADC_Handle_t Handle,

const qapi_Adc_Input_Properties_Type_t ∗ Input_Prop_Ptr, qapi_ADC_Read_Result_t ∗ Result_Ptr )

功能:读取ADC通道,此功能为客户端指定的设备和通道执行阻塞ADC读取pAdcInputProps.

参数:

in :Handle,由qapi_ADC_Open()提供的句柄。

in :Input_Prop_Ptr,由qapi_ADC_Get_Input_Properties()提供通道的属性指针。

out:Result_Ptr,ADC读取结果结构体。

关于Result_Ptr, 类型是:qapi_ADC_Read_Result_t,定义如下:

typedef struct
{
   AdcResultStatusType eStatus;   //转换状态
   uint32_t  nToken;                          //标识转换的令牌
   uint32_t  nDeviceIdx;                   //转换设备索引
   uint32_t  nChannelIdx;                //转换通道索引
   int32_t   nPhysical;                      //结果是物理单位,单位取决于BSP
   uint32_t  nPercent;                      //结果占用于参考电压的百分比转换:0 = 0%,65535 = 100%
   uint32_t  nMicrovolts;                  //结果值,单位是微伏
   uint32_t  nCode;                          //来自硬件的原始ADC代码
} qapi_ADC_Read_Result_t;

返回值:

QAPI_OK  - 调用成功。

QAPI_ERROR  - 调用失败。

QAPI_ERR_INVALID_PARAM  - 指定了无效参数。

d. qapi_Status_t qapi_ADC_Close ( qapi_ADC_Handle_t Handle, qbool_t

keep_enabled )

功能:当软件客户端完成后,关闭ADC的句柄。

参数:

in :Handle,由qapi_ADC_Open()提供的句柄。

out:keep_enabled,保留参数。

3 关于读取adc过程的简单示例代码

qapi_Status_t status;

const char Channel_Name;

qapi_ADC_Handle_t handle;

uint32_t Channel_Name_Size;

qapi_ADC_Read_Result_t result;

//To get a ADC handle.

status = qapi_ADC_Open(&handle, 0); //第一步

if (status != QAPI_OK) { ... }

//Get properties of the ADC

status=qapi_ADC_Get_Input_Properties(&handle, Channel_Name,

Channel_Name_Size, Properties); //第二步

if (status != QAPI_OK) { ... }

//To read ADC channels

status = qapi_ADC_Read_Channel(handle, channel, &result); //第三步

if (status != QAPI_OK) { ... }

//close ADC channel.

status = qapi_ADC_Close(handle, false); //第四步

if (status != QAPI_OK) { ... }

4 小结

本篇主要介绍了基于mdm9206平台的threadx_os的adc操作相关的api,大致流程就是,打开adc读取通道,获取一个操作句柄,接着获取adc配置的属性信息,读取adc相应通道,关闭adc通道。

基于mdm9206 threadx_os的adc操作相关API介绍相关推荐

  1. 基于mdm9206 threadx_os的timer操作相关API介绍

    大家好,今天小白给大家介绍一下,关于mdm9206 threadx_os的timer操作相关的api,希望能和大家一起交流学习. 一 . 概述 本篇介绍的接口是实现高级时间服务(ATS)计时器服务. ...

  2. 基于mdm9206 threadx_os的spi操作相关API介绍

    大家好,今天小白给大家介绍一下,关于mdm9206 threadx_os的spi操作相关的API,希望能和大家一起交流学习. 一. SPI简介 SPI,是英语Serial Peripheral Int ...

  3. 基于mdm9206 threadx_os的I2c操作相关API介绍

    大家好,今天小白给大家介绍一下,关于mdm9206 threadx_os的I2c操作相关的API,希望能和大家一起交流学习. 一:I2C简介 I2C是一种2线总线,用于将低速外设连接到处理器或微控制器 ...

  4. 基于mdm9206 threadx_os的gpio操作相关API介绍

    大家好,今天小白给大家介绍一下,关于mdm9206 threadx_os的gpio操作相关的api,希望能和大家一起交流学习. 1.gpio模块概述 SoC具有许多功能,但由于尺寸缩小,通常会受到限制 ...

  5. 关于mdm9206 threadx_os的I2c操作相关的API,

    大家好,今天小白给大家介绍一下,关于mdm9206 threadx_os的I2c操作相关的API,希望能和大家一起交流学习. 一:I2C简介 I2C是一种2线总线,用于将低速外设连接到处理器或微控制器 ...

  6. VB 文件常用操作相关API

    下面是windows中提供的对于文件进行操作的API函数及其功能: Windows API函数 功能 CloseHandle 关闭一个内核对象.其中包括文件.文件映射.进程.线程.安全和同步对象等.涉 ...

  7. Win32路径操作相关API

    一.路径截断与合并 PathRemoveArgs   去除路径的参数 PathRemoveBackslash 去除路径最后的反斜杠 "\" PathAddBackslash 在路径 ...

  8. Hibernate基础学习(二)—Hibernate相关API介绍

    一.Hibernate的核心接口 所有的Hibernate应用中都会访问Hibernate的5个核心接口. (1)Configuration接口: 配置Hibernate,启动Hibernate,创建 ...

  9. WordNet相关API介绍及语义相似度计算方法

    WordNet Introduction WordNet是由Princeton 大学的心理学家,语言学家和计算机工程师联合设计的一种基于认知语言学的英语词典.它不是光把单词以字母顺序排列,而且按照单词 ...

最新文章

  1. 圣才电子书怎么提取pdf_总结10个免费网站,助你解决PDF所有问题!
  2. 字符串处理 回文串 说反话
  3. vi编辑器基本使用方法
  4. 设计模式的理解 : 门面模式、外观模式 (Facade)
  5. 吞吐量(TPS)、QPS、并发数、响应时间(RT)
  6. 微信小程序 等待几秒、_微信小程序—setTimeout定时器的坑
  7. 破解keil 2k限制,注册码生成
  8. 启动zookeeper时IDEA启动项目时提示8080端口被占用
  9. CSS 设置背景颜色透明,文字不透明
  10. word文档编写时 delete键和backspace键的用法
  11. 移动硬盘插入提示需要格式化RAW_移动硬盘数据恢复 – 图文教程
  12. python实用30个小技巧
  13. 模型转换:pth转onnx
  14. Windows 10 布置IP安全策略
  15. Android开发学习之Intent具体解释
  16. JAVA中 BufferedImage、ImageIO用法
  17. postman-批量导入数据
  18. 真相为何竟如此难得 -- 《中国健康调查报告》
  19. 弟弟的作业(湖南省第六届程序设计大赛)
  20. 【C++】求三角形面积

热门文章

  1. Unity中通过mask组件裁剪出圆形图片,制作出圆形头像
  2. 请不要叫我菜鸟,我是菜虫!!!
  3. 百度站长工具 - 如何添加子域名 - 批量添加子站 - 网站收录推广
  4. 实验5 严格源站路由和宽松源站路由
  5. CN2网络是什么?CN2网络超详细介绍
  6. unity3d微端开发记录
  7. 通过adb拉取log
  8. saxon 处理xslt
  9. html padding如何设置内边距,内边距:padding - CSS | 绿叶学习网
  10. 驾驭组织结构——生意格局和配置优势