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

0x00 CREELINKS平台简介

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

CREELINKS http://www.creelinks.com

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中有与处理器平台有关的配置项如下:

1 #define CE_AD_CONVERT_REF_VCC    (fp32)(3.3)       /*!< Ad转换的参考电压3.3V*/
2 #define CE_AD_CONVERT_WIDTH      (uint16)(12)      /*!< Ad转换宽度*/
3 #define CE_AD_CONVERT_TIME_NS    (uint16)(1000)    /*!< Ad完成一次转换所用的时间ns*/
4 #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、属性对象

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

其中:

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

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

    4、操作对象

 1 /**
 2   * @brief  结构体,AD对象可用操作集合
 3   */
 4 typedef struct
 5 {
 6     CE_STATUS   (*initial)(CeAd* ceAd);             /*!< @brief 初始化Ad转换
 7                                                          @param ceAd:Ad属性对象指针*/
 8
 9     uint32      (*getAdConvertValue)(CeAd* ceAd);   /*!< @brief 获得Ad转换结果
10                                                          @param ceAd:Ad属性对象指针
11                                                          @return AD转换结果*/
12 }CeAdOpBase;
13 extern const CeAdOpBase ceAdOp;                     /*!< 所有与Ad相关的操作*/

其中:

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

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

5、执行流程

6、应用示例

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

0x02 CeAd的注意事项

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

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

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

    待添加...

时间: 2024-08-27 02:02:44

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

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

第三百八十七节,Django+Xadmin打造上线标准的在线教育平台-网站上传资源的配置与显示 首先了解一下static静态文件与上传资源的区别,static静态文件里面一般防止的我们网站样式的文件,包括ccs,js,网站样式图片 上传资源是用户操作上传的图片等资源 上传资源的配置 1,首先在项目里创建一个名称叫media的文件夹专门保存用户上传 2,settings.py文件配置上传资源的路径 # 上传资源路径,如果图片,上传文件等 MEDIA_URL = '/media/' # 设置上传资源

实时竞价RTB广告平台_传漾科技_中国领先的智能数字营销引擎

实时竞价RTB广告平台_传漾科技_中国领先的智能数字营销引擎 Programmatic Framework? 传漾程序化购买框架

[转]抢先Mark!微信公众平台开发进阶篇资源集锦

FROM : http://www.csdn.net/article/2014-08-01/2820986 由CSDN和<程序员>杂志联合主办的 2014年微信开发者大会 将于8月23日在北京举行.作为一线微信开发商云集.专注在开发实践方面的顶级技术活动,演讲话题极为丰富,涵盖了微信开发不同维度的多个层内容 (首批议程发布),包括:企业服务号开发和高级应用.企业号开发.如何与业务系统对接.各种高级接口功能.智能客服与LBS.HTML5社交应用.微信支付.微信电商开发等多方面(查看 参加微信开发

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

下面就具体的使用说明: 1.获取代码生成器的授权码(根据本机)-----还原数据库-------改config-----代码生成器 改代码生成器Config 2.登录代码生成器 3.查看是否连接成功 4.配置参数 下图,可在字段右键选择控件编码字段,控件名称字段 5.生成代码 6.启动程序 这个系列教程文档,欢迎转载: SNF开发平台WinForm之十-Excel导入http://www.cnblogs.com/spring_wang/p/6128604.html SNF开发平台WinForm之

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

云之讯融合通讯开放平台_提供融合语音,短信,VoIP,视频和IM等通讯API及SDK. undefined 全明星之极验证 - SendCloud undefined [转载]国内外几个主流的在线开发平台(PaaS)介绍_紫琴_新浪博客 undefined python+Selenium2+chrome构建动态网页爬虫工具 - cjsafty的专栏 - 博客频道 - CSDN.NET undefined IP代理api文档,IP代理接口 ,免费数据接口,好服务数据平台 undefined

使用Cloudsim实现基于多维QoS的资源调度算法之一:配置Cloudsim环境

Cloudsim是一款开源的云计算仿真软件,它继承了网格计算仿真软件Gridsim的编程模型,支持云计算的研究和开发.它是一个自足的支持数据中心.服务代理人.调度和分配策略的平台,支持大型云计算的基础设施的建模与仿真,并且可以在Windows和Linux上跨平台运行. 本文介绍的是利用Cloudsim云仿真平台对资源调度算法进行仿真.其中包括Cloudsim环境的配置,资源调度算法的嵌入和仿真结果的分析. 1.首先介绍Cloudsim环境的配置 1.1.Cloudsim的运行需要Java环境,所

Linux平台 Oracle 18c RAC安装Part2:GI配置

三.GI(Grid Infrastructure)安装 3.1 解压GI的安装包 3.2 安装配置Xmanager软件 3.3 共享存储LUN的赋权 3.4 使用Xmanager图形化界面配置GI 3.5 验证crsctl的状态 3.6 测试集群的FAILED OVER功能 Linux平台 Oracle 18c RAC安装指导: Part1:Linux平台 Oracle 18c RAC安装Part1:准备工作 Part2:Linux平台 Oracle 18c RAC安装Part2:GI配置 Pa

springmvc 前段控制器 处理器映射器 处理器适配器 视图视图解析器 配置

1. 前段控制器 新建项目在web.xml中配置前段控制器 <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</pa

Spring boot 默认静态资源路径与手动配置访问路径的方法

这篇文章主要介绍了Spring boot 默认静态资源路径与手动配置访问路径的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下 在application.propertis中配置 ##端口号 server.port=8081 ##默认前缀 spring.mvc.view.prefix=/ ## 响应页面默认后缀 spring.mvc.view.suffix=.html # 默认值为 /** spring.mvc.static-path-pattern=/** # 这里设置要指向的路径,多个