5.8_任务5 传感数据汇聚——代码.docxVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

5.8任务5传感数据汇聚——代码

5.8.3任务实施

2.在collect.c的合适位置新增通讯协议相关的宏定义。

/******通讯协议相关*******/??

#define?START_HEAD????0xCC//帧头??

#define?CMD_READ??????0x01//读传感器数据??

#define?SENSOR_TEMP???0x01//温度??

#define?SENSOR_RH?????0x02//湿度??

#define?SENSOR_FIRE???0x03//火焰??

在collect.c中编写程序。

(1)新增计算校验和函数CheckSum()。

/************************************************************************************?

*函数:uint8?CheckSum(uint8?*buf,?uint8?len)?

*功能:计算校验和?

*输入:uint8?*buf-指向输入缓存区,?uint8?len输入数据字节个数?

*输出:无?

*返回:返回校验和?

*特殊说明:无?

*************************************************************************************/??

uint8?CheckSum(uint8?*buf,?uint8?len)??

{??

??uint8?temp?=?0;??

??while(len--)??

??{??

????temp?+=?*buf;??

????buf++;??

??}??

??return?(uint8)temp;??

}??

(2)汇聚节点的collect.c文件中的main()函数,该函数新增数据解析和输出到串口代码,主要完成数据解析和显示功能。

void?main(void)??

{??

????uint16?len?=?0;??

????uint32?TimCnt?=?0;??

????int8?brightness?=?0;??

????uint8?flag?=?0;??

????halBoardInit();??//模块相关资源的初始化??

????ConfigRf_Init();?//无线收发参数的配置初始化???

????while(1)??

????{??

????????/************************呼吸灯进程***********************/??

????????if(TimCnt++1024)??

????????{??

??????????TimCnt?=?0;??

??????????if(flag)??

??????????{??

????????????brightness?++;??

????????????if(brightness?=?90)??

????????????{flag?=?0;}//向下渐变暗??

??????????}??

??????????else??

??????????{??

????????????brightness?--;??

????????????if(brightness?=?10)??

????????????{flag?=?1;}//向上渐变亮??

??????????}??

??????????TIM1_PwmInit(1,brightness);??

????????}??

????????/*************************无线数据接收处理进程******************/??

????????if(basicRfPacketIsReady())???//查询有没收到无线信号??

????????{??

????????????FlashLed(2,100);//无线接收指示,LED2亮100ms??

????????????//接收无线数据??

????????????len?=?basicRfReceive(pRxData,?MAX_RECV_BUF_LEN,?NULL);??

#ifdef?CC2530_DEBUG??

????????????uint8?pos?=?0;??

????????????char?DebugOutput[256];??

????????????memset(DebugOutput,?\0,?256);??

????????????GetHexStr((uint8?*)pRxData,?len,?(uint8?*)DebugOutput);???

????????????uart_printf(接收到原始无

文档评论(0)

方世玉 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6101050130000123

1亿VIP精品文档

相关文档