• 大小: 10.09MB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2023-11-10
  • 语言: 其他
  • 标签: stm32f4  onenet  物联网  

资源简介

从onenet例程修改过来的,使用STM32F407+ESP8266接入onenet平台的最终修改代码。

资源截图

代码片段和文件信息

/**
************************************************************
************************************************************
************************************************************
* 文件名:  dStream.c
*
* 作者:  张继瑞
*
* 日期:  2017-09-11
*
* 版本:  V1.1
*
* 说明:  cJson格式数据流通用封装
*
* 修改记录: V1.1:修复当数据流flag全为0时封装错误的bug。
************************************************************
************************************************************
************************************************************
**/

//协议封装文件
#include “dStream.h“

//C库
#include 
#include 


//==========================================================
// 函数名称: DSTREAM_toString
//
// 函数功能: 将数值转为字符串
//
// 入口参数: StreamArray:数据流
// buf:转换后的缓存
// pos:数据流中的哪个数据
// bufLen:缓存长度
//
// 返回参数: 无
//
// 说明:
//==========================================================
void DSTREAM_toString(DATA_STREAM *streamArray char *buf unsigned short pos unsigned short bufLen)
{

memset(buf 0 bufLen);

switch((unsigned char)streamArray[pos].dataType)
{
case TYPE_BOOL:
snprintf(buf bufLen “%d“ *(_Bool *)streamArray[pos].dataPoint);
break;

case TYPE_CHAR:
snprintf(buf bufLen “%d“ *(signed char *)streamArray[pos].dataPoint);
break;

case TYPE_UCHAR:
snprintf(buf bufLen “%d“ *(unsigned char *)streamArray[pos].dataPoint);
break;

case TYPE_SHORT:
snprintf(buf bufLen “%d“ *(signed short *)streamArray[pos].dataPoint);
break;

case TYPE_USHORT:
snprintf(buf bufLen “%d“ *(unsigned short *)streamArray[pos].dataPoint);
break;

case TYPE_INT:
snprintf(buf bufLen “%d“ *(signed int *)streamArray[pos].dataPoint);
break;

case TYPE_UINT:
snprintf(buf bufLen “%d“ *(unsigned int *)streamArray[pos].dataPoint);
break;

case TYPE_LONG:
snprintf(buf bufLen “%ld“ *(signed long *)streamArray[pos].dataPoint);
break;

case TYPE_ULONG:
snprintf(buf bufLen “%ld“ *(unsigned long *)streamArray[pos].dataPoint);
break;

case TYPE_FLOAT:
snprintf(buf bufLen “%f“ *(float *)streamArray[pos].dataPoint);
break;

case TYPE_DOUBLE:
snprintf(buf bufLen “%f“ *(double *)streamArray[pos].dataPoint);
break;

case TYPE_GPS:
snprintf(buf bufLen “{\“lon\“:%s\“lat\“:%s}“ (char *)streamArray[pos].dataPoint (char *)(streamArray[pos].dataPoint) + 16);
break;

case TYPE_STRING:
snprintf(buf bufLen “\“%s\““ (char *)streamArray[pos].dataPoint);
break;
}

}

//==========================================================
// 函数名称:  DSTREAM_GetDataStream_Body
//
// 函数功能: 获取数据流格式消息体
//
// 入口参数: type:格式类型
// streamArray:数据流结构
// streamArrayCnt:数据流个数
// buffer:缓存
// maxLen:最大缓存长度
// offset:偏移
//
// 返回参数: Body的长度,0-失败
//
// 说明:
//==========================================================
short DSTREAM_GetDataStream_Body(uns

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-02-26 08:23  stm32f407_iot\
     目录           0  2018-02-26 12:31  stm32f407_iot\MDK\
     目录           0  2018-02-26 08:23  stm32f407_iot\MDK\DebugConfig\
     文件        2084  2015-10-27 12:06  stm32f407_iot\MDK\DebugConfig\Target_1_STM32F407ZGTx.dbgconf
     文件        2084  2015-10-27 12:06  stm32f407_iot\MDK\DebugConfig\stm32f4_project_STM32F407ZGTx.dbgconf
     文件      123683  2018-02-26 12:31  stm32f407_iot\MDK\JlinkLog.txt
     文件         762  2018-02-26 09:06  stm32f407_iot\MDK\JlinkSettings.ini
     目录           0  2018-02-26 08:23  stm32f407_iot\MDK\Listings\
     文件       77572  2018-02-26 08:24  stm32f407_iot\MDK\Listings\startup_stm32f40_41xxx.lst
     文件      203095  2018-02-26 12:31  stm32f407_iot\MDK\Listings\stm32f407_ex.map
     目录           0  2018-02-26 12:31  stm32f407_iot\MDK\objects\
     文件        9817  2018-02-26 08:24  stm32f407_iot\MDK\objects\dstream.crf
     文件         237  2018-02-26 08:24  stm32f407_iot\MDK\objects\dstream.d
     文件       19248  2018-02-26 08:24  stm32f407_iot\MDK\objects\dstream.o
     文件       15087  2018-02-26 08:24  stm32f407_iot\MDK\objects\edpkit.crf
     文件         276  2018-02-26 08:24  stm32f407_iot\MDK\objects\edpkit.d
     文件       37792  2018-02-26 08:24  stm32f407_iot\MDK\objects\edpkit.o
     文件       14474  2018-02-26 08:24  stm32f407_iot\MDK\objects\fault.crf
     文件         357  2018-02-26 08:24  stm32f407_iot\MDK\objects\fault.d
     文件       18276  2018-02-26 08:24  stm32f407_iot\MDK\objects\fault.o
     文件      460115  2018-02-26 12:31  stm32f407_iot\MDK\objects\main.crf
     文件        2152  2018-02-26 12:31  stm32f407_iot\MDK\objects\main.d
     文件      492288  2018-02-26 12:31  stm32f407_iot\MDK\objects\main.o
     文件      443768  2018-02-26 08:23  stm32f407_iot\MDK\objects\misc.crf
     文件        1743  2018-02-26 08:23  stm32f407_iot\MDK\objects\misc.d
     文件      482424  2018-02-26 08:23  stm32f407_iot\MDK\objects\misc.o
     文件      459918  2018-02-26 08:24  stm32f407_iot\MDK\objects\net_device.crf
     文件        2292  2018-02-26 08:24  stm32f407_iot\MDK\objects\net_device.d
     文件      521616  2018-02-26 08:24  stm32f407_iot\MDK\objects\net_device.o
     文件      449814  2018-02-26 09:03  stm32f407_iot\MDK\objects\net_io.crf
     文件        1986  2018-02-26 09:03  stm32f407_iot\MDK\objects\net_io.d
............此处省略242个文件信息

评论

共有 条评论