0x00 CREELINKS平台简介

    CREELINKS(创e联)是由大信科技有限公司研发,集合软硬件、操作系统、数据云储存、开发工具于一体,用于物联网产品的设计、研发与生产的平台。
    平台涉及智能硬件、车联网、智能家居、可穿戴设备、工业控制等各个物联网领域。旨在辅助中小型企业快速完成物联网产品原型的设计与开发;并为开源软硬件爱好者、硬件DIY极客、教育机构等提供更高效的资源。
    平台包含通用功能模块、操作系统、核心库、模块驱动库、物联网典型产品的解决方案及相关开发工具。

0x01 处理器CeAd资源是什么?

CeAd资源是CREELINKS平台中将不同处理器平台中AD转换(模拟信号采集)的共性提取出来,整理并编写出来的标准库。CeAd标准库包含了Ad操作相关的所有属性及API接口函数,如: 设置获得AD转换结果等。其标准库的头文件为CeAd.h,不同处理器平台实现的源文件名统一为CeAd.c。

    详细介绍如下:

    1、资源介绍

        Creelinks平台Ad对象的操作头文件,包含有关处理器平台Ad内容的相关操作。可能不同处理器平台,Ad转换电压、转换时间、转换速率、位宽等均不一致,使用Ad资源时,尽量使用CeMcu.h中的相关Ad属性宏定义。

    2、相关配置

在CeMcu.h中有与处理器平台有关的配置项如下:

 #define CE_AD_CONVERT_REF_VCC    (fp32)(3.3)       /*!< Ad转换的参考电压3.3V*/
 #define CE_AD_CONVERT_WIDTH      (uint16)(12)      /*!< Ad转换宽度*/
 #define CE_AD_CONVERT_TIME_NS    (uint16)(1000)    /*!< Ad完成一次转换所用的时间ns*/
 #define CE_AD_CONVERT_MAX_VAL    (uint32)(0x0FFF)  /*!< Ad转换所得的最大值*/

其中:

        CE_AD_CONVERT_REF_VCC当前处理器平台Ad资源进行转换所采用的参考电压值,浮点型变量。

        CE_AD_CONVERT_WIDTH当前处理器平台Ad资源转换结果的宽度,如8、12、16等。

        CE_AD_CONVERT_TIME_NS当前处理器平台Ad资源完成一次Ad转换所需要的时间,单位纳秒。

        CE_AD_CONVERT_MAX_VAL当前处理器平台Ad资源转换结果的最大值,如宽度12位,则最大值为0xFFFF。

3、属性对象

 /**
   * @brief  结构体,AD对象可用属性集合
   */
 typedef struct
 {
     CE_RESOURCE     ceResource;                     /*!< Ad对应的资源号*/
     CeExAdPar       ceExAdPar;                      /*!< 与处理器平台相关的额外参数结构体,用以提高代码效率,用户无须关注*/
 }CeAd;

其中:

         ceResource对应核心模块的Ad资源号, 只要在核心板上,资源接口中带A标号即可。

         ceExPwmPar用于存不同的处理器平台,Ad属性对象需要的额外参数。此结构体在CeMcu.h文件中定义。

    4、操作对象

 /**
   * @brief  结构体,AD对象可用操作集合
   */
 typedef struct
 {
     CE_STATUS   (*initial)(CeAd* ceAd);             /*!< @brief 初始化Ad转换
                                                          @param ceAd:Ad属性对象指针*/

     uint32      (*getAdConvertValue)(CeAd* ceAd);   /*!< @brief 获得Ad转换结果
                                                          @param ceAd:Ad属性对象指针
                                                          @return AD转换结果*/
 }CeAdOpBase;
 extern const CeAdOpBase ceAdOp;                     /*!< 所有与Ad相关的操作*/

其中:

        initial对一个Ad资源进行初始化,如果在CeMcu.h中的宏定义 __CE_CHECK_PAR__处于打开状态,则会对输入的CeAd属性对象进行参数检查。

        getAdConmvertValue进行一次Ad转换,并获得转换结果。操作会阻塞并且直到转换完成后才返回,转换时间在CeMcu.h中宏定义CE_AD_CONVERT_TIME_NS有关。

5、执行流程

6、应用示例

 /**
 ******************************************************************************
 * @brief  使用流程及示例程序(基于前后台非操作系统环境)
 * @function 读取Ad口转换值,并通过Uart口传输给串口调试助手
 ******************************************************************************
 #include "Creelinks.h"
 CeAd myAd;                                      //定义Ad属性对象
 uint32 convertVal;                              //转换结果保存的临时变量
 int main(void)
 {
     ceSystemOp.initial();                       //Creelinks环境初始化
     ceSystemOp.initialDebug(RxUart);            //通过Uart串口输出Debug信息到上位机
     //TODO:请在此处插入模块初始化等操作
     myAd.ceResource = RxA;                      //定义Ad资源号
     ceAdOp.initial(&myAd);
     while (1)
     {
         ceSystemOp.mainTask();                  //Creelinks环境主循环任务,请保证此函数能够被周期调用
         //TODO:请在此处插入用户操作
         convertVal = ceAdOp.getAdConvertValue(&myAd);   //获得Ad转换结果
         ceSystemOp.printf("ConvertVal = %d",convertVal);//打印Ad转换结果
         ceSystemOp.delayMs(500);                        //延时500ms
     };
 }
 ******************************************************************************
 */

0x02 CeAd的注意事项

    在不同处理器平台或不同的核心板下,Ad转换的参考电压、转换时间、转换速率、位宽等均不一致,Ad资源时,尽量使用CeMcu.h中的相关Ad属性宏定义。

0x03 CeAd在不同处理器的应用实例

1、STM32平台下的ELinkSTM核心板下使用CeAd...。代码及动画效果如下:

    待添加...

CREELINKS平台_处理器CeAd资源使用说明(CeAd的配置与使用)的更多相关文章

  1. CREELINKS平台_处理器CeCcp资源使用说明(CeCcp的配置与使用)

    0x00 CREELINKS平台简介     CREELINKS(创e联)是由大信科技有限公司研发,集合软硬件.操作系统.数据云储存.开发工具于一体,用于物联网产品的设计.研发与生产的平台.    平 ...

  2. CREELINKS平台_处理器CeGpio资源使用说明(CeGpio的配置与使用)

    0x00 CREELINKS平台简介     CREELINKS(创e联)是由大信科技有限公司研发,集合软硬件.操作系统.数据云储存.开发工具于一体,用于物联网产品的设计.研发与生产的平台.    平 ...

  3. 第三百八十七节,Django+Xadmin打造上线标准的在线教育平台—网站上传资源的配置与显示

    第三百八十七节,Django+Xadmin打造上线标准的在线教育平台—网站上传资源的配置与显示 首先了解一下static静态文件与上传资源的区别,static静态文件里面一般防止的我们网站样式的文件, ...

  4. winform快速开发平台->让有限的资源创造无限的价值!

    最近一直在维护一套自己的快速开发平台. 主要应对针对C/S架构下的项目.然而对winform这快,还真没有看到过相对好的快速开发平台, 何为快速,在博客园逛了了好久, 预览了很多通用权限管理系统. 确 ...

  5. SNF开发平台WinForm之九-代码生成器使用说明-SNF快速开发平台3.3-Spring.Net.Framework

    下面就具体的使用说明: 1.获取代码生成器的授权码(根据本机)-----还原数据库-------改config-----代码生成器 改代码生成器Config 2.登录代码生成器 3.查看是否连接成功 ...

  6. SNF开发平台WinForm之五-高级查询使用说明-SNF快速开发平台3.3-Spring.Net.Framework

    5.1运行效果: 5.2开发实现: 1.按上面效果来说,先来看一下在程序当中如果调用.第一步在页面拖拽一个按钮为“高级查询”,事件上写下如下代码: 如果是单表查询的话,只需要传GridView就行,如 ...

  7. 云之讯融合通讯开放平台_提供融合语音,短信,VoIP,视频和IM等通讯API及SDK。

    云之讯融合通讯开放平台_提供融合语音,短信,VoIP,视频和IM等通讯API及SDK. undefined 全明星之极验证 - SendCloud undefined [转载]国内外几个主流的在线开发 ...

  8. CSDN CODE平台,中国版Github简要使用说明

    CSDN CODE平台,中国版Github简要使用说明!(多图慎入)   楼主说 以前一直看到别人在用github发布自己的代码,各种牛逼,各种羡慕嫉妒恨.最后终于受不了了,也去注册了一个,注册到没什 ...

  9. ML平台_小米深度学习平台的架构与实践

    (转载:http://www.36dsj.com/archives/85383)机器学习与人工智能,相信大家已经耳熟能详,随着大规模标记数据的积累.神经网络算法的成熟以及高性能通用GPU的推广,深度学 ...

随机推荐

  1. S3C2440触摸屏驱动详解

    2440的触摸屏转换接口搭载在ADC接口之上,使用上比ADC接口多了一些花样,首先,触摸屏接口有几种转换模式 1. 普通转换模式 单转换模式是最合适的通用ADC转换.此模式可以通过设置ADCCON(A ...

  2. IOS即时通讯XMPP搭建openfire服务器

    一.下载并安装openfire 1.到http://www.igniterealtime.org/downloads/index.jsp下载最新openfire for mac版 比如:Openfir ...

  3. mysql,mybatis使用中遇到的类型转化的问题

    产生原因还没有明白,先记录一下. 使用DATEDIFF函数,计算两个日期的时间差.在mybatis中,resultType 是map.在代码中,根据map的key取值的时候. 在mysql 5.5.3 ...

  4. iOS 开源库介绍

    1. Github-iOS备忘 2. iOS 第三方开源库的吐槽和备忘 3. 移动开发的后台服务支持平台 4. iOS 开源库 之 AFNetWorking 2.x 5. iOS 之 二维码 ZXin ...

  5. C#代码生成工具:文本模板初体验 使用T4批量修改实体框架(Entity Framework)的类名

    转自:http://www.cnblogs.com/huangcong/archive/2011/07/20/1931107.html 在之前的文本模板(T4)初体验中我们已经知道了T4的用处,下面就 ...

  6. Angular - - angular.element

    angular.element 将DOM元素或者HTML字符串一包装成一个jQuery元素. 格式:angular.element(element); element:包装成jquery对象的html ...

  7. javaweb入门实例---servlet例子

    1.编写servlet: TreeDataServlet.java package com.maggie.tree; import java.io.IOException; import javax. ...

  8. React快速入门教程

    简介 Facebook官网介绍:React 是一个用来构建用户界面的 JavaScript 库.相当于 MVC 架构的 V 层. React 的核心思想是:封装组件,各个组件维护自己的状态和UI,当状 ...

  9. Android项目实战(二十九):酒店预定日期选择

    先看需求效果图: 几个需求点: 1.显示当月以及下个月的日历 (可自行拓展更多月份) 2.首次点击选择"开始日期",再次点击选择"结束日期" (1).如果&qu ...

  10. SoapUI:使用Excel进行参数化

    本章中学习如下内容: 1)         使用DataSource调用Excel中的数据给接口参数化: 2)         使用DataSource Loop使得测试用例根据Excel中的取值循环 ...