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

本文详细介绍了MDM9206平台上ThreadX OS的ADC操作API,包括ADC简介、主要API如qapi_ADC_Open、qapi_ADC_Get_Input_Properties、qapi_ADC_Read_Channel、qapi_ADC_Close的功能及参数说明,以及读取ADC的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大家好,今天小白给大家介绍一下,关于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通道。

 

QQAPI智能调用系统 更新日志: V1.1 bulid2017.01.25 -->添加接口:获取QQ秀API 接口简介:URL QQ号直接获取QQ秀图片 -->添加接口:手机号信息查询API 接口简介:URL 手机号直接获取该手机号相关信息 -->添加接口:IP地址定位API 接口简介:URL IP地址直接在百度地图中标记出IP所属位置 -->添加接口:视频C值解析API 接口简介:URL C值可直接在线播放该C值所属视频 特别感谢:本接口由可可影视网(www.kekei.cn)友情提供 -->目录更新:搭建云端API接口,供使用本系统的站长直接调用 QAPI智能调用系统简介 QQAPI智能调用系统是一个以php进行开发的调用qq api接口源码。 包含API :URL加群/URL添加好友/URL获取QQ头像/URL获取空间头像 QAPI智能调用系统安装说明: 环境需求:PHP5.2以上丨Windows/Linux丨IIS/Apache/nginx 安装步骤:将全部文件上传至主机根目录即可 QAPI智能调用系统目录说明: /api/----------网站接口文件目录(接口文件切勿修改,防出错) /config/-------网站数据文件目录(配置网站首页相关内容) /css/----------网站样式文件目录(首页样式可按自己需求修改) /img/----------网站图片文件目录(首页图片可按自己需求修改) /js/-----------网站特效文件目录 /videos/-------网站动态背景以及静态背景存放目录 index.php------网站首页 QAPI智能调用系统页面展示 相关阅读 同类推荐:站长常用源码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值