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中有与处理器平台有关的配置项如下:
#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的注意事项
0x03 CeAd在不同处理器的应用实例
1、STM32平台下的ELinkSTM核心板下使用CeAd...。代码及动画效果如下:
待添加...
CREELINKS平台_处理器CeAd资源使用说明(CeAd的配置与使用)的更多相关文章
- CREELINKS平台_处理器CeCcp资源使用说明(CeCcp的配置与使用)
0x00 CREELINKS平台简介 CREELINKS(创e联)是由大信科技有限公司研发,集合软硬件.操作系统.数据云储存.开发工具于一体,用于物联网产品的设计.研发与生产的平台. 平 ...
- CREELINKS平台_处理器CeGpio资源使用说明(CeGpio的配置与使用)
0x00 CREELINKS平台简介 CREELINKS(创e联)是由大信科技有限公司研发,集合软硬件.操作系统.数据云储存.开发工具于一体,用于物联网产品的设计.研发与生产的平台. 平 ...
- 第三百八十七节,Django+Xadmin打造上线标准的在线教育平台—网站上传资源的配置与显示
第三百八十七节,Django+Xadmin打造上线标准的在线教育平台—网站上传资源的配置与显示 首先了解一下static静态文件与上传资源的区别,static静态文件里面一般防止的我们网站样式的文件, ...
- winform快速开发平台->让有限的资源创造无限的价值!
最近一直在维护一套自己的快速开发平台. 主要应对针对C/S架构下的项目.然而对winform这快,还真没有看到过相对好的快速开发平台, 何为快速,在博客园逛了了好久, 预览了很多通用权限管理系统. 确 ...
- SNF开发平台WinForm之九-代码生成器使用说明-SNF快速开发平台3.3-Spring.Net.Framework
下面就具体的使用说明: 1.获取代码生成器的授权码(根据本机)-----还原数据库-------改config-----代码生成器 改代码生成器Config 2.登录代码生成器 3.查看是否连接成功 ...
- SNF开发平台WinForm之五-高级查询使用说明-SNF快速开发平台3.3-Spring.Net.Framework
5.1运行效果: 5.2开发实现: 1.按上面效果来说,先来看一下在程序当中如果调用.第一步在页面拖拽一个按钮为“高级查询”,事件上写下如下代码: 如果是单表查询的话,只需要传GridView就行,如 ...
- 云之讯融合通讯开放平台_提供融合语音,短信,VoIP,视频和IM等通讯API及SDK。
云之讯融合通讯开放平台_提供融合语音,短信,VoIP,视频和IM等通讯API及SDK. undefined 全明星之极验证 - SendCloud undefined [转载]国内外几个主流的在线开发 ...
- CSDN CODE平台,中国版Github简要使用说明
CSDN CODE平台,中国版Github简要使用说明!(多图慎入) 楼主说 以前一直看到别人在用github发布自己的代码,各种牛逼,各种羡慕嫉妒恨.最后终于受不了了,也去注册了一个,注册到没什 ...
- ML平台_小米深度学习平台的架构与实践
(转载:http://www.36dsj.com/archives/85383)机器学习与人工智能,相信大家已经耳熟能详,随着大规模标记数据的积累.神经网络算法的成熟以及高性能通用GPU的推广,深度学 ...
随机推荐
- PHP文件夹操作2
mkdir("路径文件名"); 创建文件夹 imdir("路径文件名"); 删除文件夹(只能删除空的文件夹) rename("路径",&qu ...
- memcache和memcached之间的区别和联系
memcache和memcached区别: Memcache是什么?Memcache是一个自由和开放源代码.高性能.分配的内存对象缓存系统.用于加速动态web应用程序,减轻数据库负载.它可以应对任意多 ...
- iOS UICollectionView 长按移动cell
ref:http://www.jianshu.com/p/31d07bf32d62 iOS 9之后: 示例如下 效果 前言: 看完你可以学到哪些呢? 就是文章标题那么多, 只有那么多. . 手残效果图 ...
- STM32F10X SPI操作flash MX25L64读写数据(转)
源:STM32F10X SPI操作flash MX25L64读写数据 前一段时间在弄SPI,之前没接触过嵌入式外围应用,就是单片机也只接触过串口通信,且也是在学校的时候了.从离开手机硬件测试岗位后,自 ...
- centos7 安装R和Rstudio客户端
#官网下载R和Rstudio 我下载的是 R-3.2.1.tar.gz和rstudio-0.99.467-x86_64.rpm两个版本 rstudio没有看见有centos版的,下的这个RStudio ...
- HUSTOJ 2796 && SPOJ1811
传送门:http://begin.lydsy.com/JudgeOnline/problem.php?id=2796 题解:后缀自动机,很裸,但是感觉对后缀自动机还不是特别理解,毕竟我太蒟蒻,等我精通 ...
- Grunt-几个常用的任务配置,加载,执行的写法
http://www.gruntjs.net/sample-gruntfile Gruntfile 实例 下面就针对一个 Gruntfile 案例做简单分析,也可以作为一个实例使用: module.e ...
- max-width
#main { max-width: 600px; margin: 0 auto; } <div id="main"> Using max-width instead ...
- Struts2文件的上传
一.单文件的上传 表单的enctype属性: application/x-www-form-urlencoded:默认的编码方式. multipart/form-data:会以二进制的方式处理表单数 ...
- TForm类
显示给用户的窗体有两种:有模式和无模式的.具体使用哪一种窗体,取决于是否希望用户能够同时与这个窗体和其他窗体交互. 1.当打开一个模式窗体后,用户无法与应用程序的其他部分交互,知道用户关闭了这个窗体. ...