当前位置: 首页 > news >正文

哪些门户网站可以做推广wordpress随机注册

哪些门户网站可以做推广,wordpress随机注册,室内设计找哪个公司好,湖南省建设局网站现在人们对大气环境及室内环境都比较关注。PM2.5在生活中也是常见的词汇。在有些产品中就要求检测PM2.5的数值。检测PM2.5的手段多种多样#xff0c;在要求不高时我们通常可以采用激光模块。在这一篇中#xff0c;我们将讨论HLPM025K3 PM2.5传感器驱动的设计与实现。 1、功能…  现在人们对大气环境及室内环境都比较关注。PM2.5在生活中也是常见的词汇。在有些产品中就要求检测PM2.5的数值。检测PM2.5的手段多种多样在要求不高时我们通常可以采用激光模块。在这一篇中我们将讨论HLPM025K3 PM2.5传感器驱动的设计与实现。 1、功能概述 HLPM025K3传感器采用激光散射原理。即令激光照射在空气中的悬浮颗粒物上产生散射同时在某一特定角度收集散射光得到散射光强随时间变化的曲线。通过稳定的气 体对流系统使外界空气均匀的通过自主研发设计的风路同时在风路中设有多个精密的光学传感器可以精确的获得粒子的尺寸、速度和质量等信息加以统计学原理继而计算出总的粒子质量从而实时的得到空气中所被关注的粒子的浓度达到检测PM2.5以及PM10的目的。其基本原理如下图所示 HLPM025K3传感器采用串行通讯采用6脚通讯接口其引脚定义如下图所示 HLPM025K3传感器采用TTL串行通讯采用9600的波特率8为数据位1为停止位无校验的方式。HLPM025K3传感器通讯采取主动发送模式0.8到1.2秒发送一次数据。其数据包含7个字节具体格式如下 其中校验位PM2.5(H)PM2.5(L)PM10(H)PM10(L)   接收到的数据按公式计算后得到 PM2.5 和 PM10 的值。   PM2.5 PM2.5(H)×256 PM2.5(L)×0.1   PM10 PM2.5(H)×256 PM2.5(L)×0.1 2、驱动设计与实现 我们已经了解了HLPM025K3型PM2.5传感器的基本情况。在这一节中我们将设计并实现HLPM025K3型PM2.5传感器的驱动。 2.1、对象定义 在使用一个对象之前我们需要获得一个对象。同样的我们想要HLPM025K3 PM2.5传感器就需要先定义HLPM025K3 PM2.5传感器的对象。 2.1.1、对象的抽象 我们要得到HLPM025K3 PM2.5传感器对象需要先分析其基本特性。一般来说一个对象至少包含两方面的特性属性与操作。接下来我们就来从这两个方面思考一下HLPM025K3 PM2.5传感器的对象。   先来考虑属性作为属性肯定是用于标识或记录对象特征的东西。我们来考虑HLPM025K3 PM2.5传感器对象属性。我们将测量数据作为对象的属性因为他们表示了对象当前的状态。   接着我们还需要考虑HLPM025K3 PM2.5传感器对象的操作问题。对象本身除了接受数据并没有什么需要操作的。我们使用队列来存储接收到的数据所以入队出队过程可看作是其操作。   根据上述我们对HLPM025K3 PM2.5传感器的分析我们可以定义HLPM025K3 PM2.5传感器的对象类型如下 /*定义HLPM025K3对象类型*/ typedef struct HlpmObject {float pm25; //PM2.5测量值float pm100; //PM10测量值struct DwinRxBuffer{uint8_t queue[HLPMRxBufferLength]; //键值存储队列uint8_t pRead; //读队列指针uint8_t pWrite; //写队列指针uint16_t (*DeQueue)(struct HlpmObject *hlpm,uint8_t *rxBuf); //出队操作void (*EnQueue)(struct HlpmObject *hlpm,uint8_t rData); //入队操作}rxBuffer; //定义接收缓存队列 }HlpmObjectType;2.1.2、对象初始化 我们知道一个对象仅作声明是不能使用的我们需要先对其进行初始化所以这里我们来考虑HLPM025K3 PM2.5传感器对象的初始化函数。一般来说初始化函数需要处理几个方面的问题。一是检查输入参数是否合理二是为对象的属性赋初值三是对对象作必要的初始化配置。据此我们设计HLPM025K3 PM2.5传感器对象的初始化函数如下 /*HLPM对象初始化函数*/ void HlpmInitialization(HlpmObjectType *hlpm) {if(hlpmNULL){return;}hlpm-pm250.0;hlpm-pm1000.0;hlpm-rxBuffer.pRead0;hlpm-rxBuffer.pWrite0;hlpm-rxBuffer.EnQueueBufferDataEnQueue;hlpm-rxBuffer.DeQueueBufferDataDeQueue; }2.2、对象操作 我们已经完成了HLPM025K3 PM2.5传感器对象类型的定义和对象初始化函数的设计。但我们的主要目标是获取对象的信息接下来我们还要实现面向HLPM025K3 PM2.5传感器的各类操作。   由于HLPM025K3 PM2.5传感器对象是自主发送所以我们需要做的就是接收消息并解析。 /*解析PM2.5和PM10的数据*/ bool ParsingPMData(HlpmObjectType *hlpm) {uint16_t length0;uint8_t receivedData[7]{0};bool isValidfalse;lengthhlpm-rxBuffer.DeQueue(hlpm,receivedData);if(length0){isValidCheckDataIsValid(receivedData);if(isValid){hlpm-pm25SynthesisPMValue(receivedData1);hlpm-pm100SynthesisPMValue(receivedData3);}}return isValid; }3、驱动的使用 我们已经设计并实现了HLPM025K3 PM2.5传感器对象的驱动程序。接下来我们设计一个简单的应用来验证这一驱动程序是否可行。 3.1、声明并初始化对象 使用基于对象的操作我们需要先得到这个对象所以我们先要使用前面定义的HLPM025K3 PM2.5传感器对象类型声明一个HLPM025K3 PM2.5传感器对象变量具体操作格式如下   HlpmObjectType hlpm;   声明了这个对象变量并不能立即使用我们还需要使用驱动中定义的初始化函数对这个变量进行初始化。这个初始化函数所需要的输入参数如下   HlpmObjectType *hlpmHLPM025K3 PM2.5传感器对象   这个对象变量我们已经定义了所以只需输入这个对象就好了。于是我们可以调用初始化函数如下   HlpmInitialization(hlpm);   对于串口通讯我们可以使用多种方式我们在此使用中断来接收数据具体实现如下 //数据接收中断处理函数 void HLPM_USART_ReceiveDataHandle(void) {uint8_t res;// 接收寄存器为空,等待字节被对应的串口完全接收 if(__HAL_UART_GET_FLAG(hlpmhuart,UART_FLAG_RXNE)!RESET){ // 获取接收到的字节数HAL_UART_Receive(hlpmhuart,res,1,1000);hlpm.rxBuffer.EnQueue(hlpm,res);__HAL_UART_CLEAR_FLAG(hlpmhuart,UART_FLAG_RXNE);} }3.2、基于对象进行操作 我们定义了对象变量并使用初始化函数给其作了初始化。接着我们就来考虑操作这一对象获取我们想要的数据。我们在驱动中已经将获取数据并转换为转换值的比例值接下来我们使用这一驱动开发我们的应用实例。 /*数据获取*/ void GetDataFromHLPM025K3(void) {float pm25Value;float pm10Value;ParsingPMData(hlpm);pm25Valuehlpm.pm25;pm10Valuehlpm.pm100; }4、应用总结 我们已经设计并实现了HLPM025K3 PM2.5传感器对象的驱动程序并且设计了简单的验证程序。HLPM025K3 PM2.5传感器的操作本身比较简单只需要通过串口获取数据就可以了。   驱动中采用了FIFO队列存储接收到的HLPM025K3 PM2.5传感器数据主要是考虑到被动接收的情况下能够保证正确的解析数据。如果不使用也是没有问题的本身不是HLPM025K3 PM2.5传感器对象所必需的。 欢迎关注
http://www.huolong8.cn/news/53716/

相关文章:

  • wordpress小程序开发文档重庆百度快速优化
  • 如何查看网站流量公众号 微网站建设方案
  • 网站建设教程 湖南岚鸿泰安企业网站建设电话
  • php做的网站首页是什么文件夹南平网络推广
  • 广东个人 网站备案ps教程自学网官网
  • 小学网站模板免费下载lunix安装wordpress
  • 什么网站可以做锦鲤活动琪琪在线免费观看电视剧
  • 维修网站怎么做个人简历表下载可填写
  • 做网站用html个人怎么免费注册公司流程
  • 专业建站公司报价单网站首页设计常见的6种布局方式
  • 上海商城网站开发杨伟丽 郑州做网站
  • 舆情网站网址西安网站seo优化
  • 网站设计行业现状购物网站建设行情
  • 做100个网站挂广告联盟大理州城乡建设局官方网站
  • 信息化和网站建设管理工作情况织梦二次开发手机网站
  • 怎么建设境外网站wordpress默认播放器怎么用
  • 苍南县龙港哪里有做网站html5浏览器
  • 可以做文档赚钱的网站上海 松江 网站制作
  • 昌平石家庄网站建设网站建设营销话术
  • 做网站的公司倒闭了黑客软件
  • 淘宝客手机网站开发重庆市建设工程信息网官网平台
  • 巢湖市网站建设推广做外贸企业网站要注意哪些
  • 柯桥教育网站建设wordpress投票插件wp-polls
  • 做网站客户性价比最高网站建设哪里好
  • C4D有哪些做模型的网站百度收录最高发帖网站
  • 印度做网站需要备案吗海尔网站建设目标
  • 网站开发 适应 手机 电脑茌平做网站推广
  • 推广平台网站热狗网找别人做网站要考虑哪些
  • 贵金属网站模板wordpress安装视频
  • 什么样的网站流量容易做网站建设全教程