收藏官网首页
查看: 26097|回复: 3

底板mcu不能控制可写变量吗?

8

主题

27

帖子

314

积分

中级会员

Rank: 3Rank: 3

积分
314
跳转到指定楼层
楼主
发表于 2018-1-18 16:31:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
校园创客福利
      现在我用别的单片机跟底板mcu串口通讯,
  1.     else if(uart1_RxBuf[4]==0x03)//receive CS
  2.                                 {
  3.                                         for(i=0;i<9;i++)
  4.                                         {
  5.                                                 cs[i]|=uart1_RxBuf[5+i*2+0]<<8;
  6.                                                 cs[i]|=uart1_RxBuf[5+i*2+1]<<0;
  7.                                         }
  8.                                 }
复制代码
这里从别的单片机获取cs[]数组。
  1. currentDataPoint.valuelevel=(uint32_t)cs[0];
  2.                 currentDataPoint.valuelanguage=(uint32_t)cs[1];
  3.                 currentDataPoint.valuephjc=(uint32_t)cs[2];
  4.                 currentDataPoint.valuetbms=(uint32_t)cs[3];
  5.                 currentDataPoint.valuecoin_value =(uint32_t)cs[4];
  6.                 currentDataPoint.valuesyys=(uint32_t)cs[5];
  7.                 currentDataPoint.valuevolume=(uint32_t)cs[6];
  8.                 currentDataPoint.valueKSBLOGO=(uint32_t)cs[7];
  9.                 currentDataPoint.valuebonus=(uint32_t)cs[8];
复制代码
然后就把收到的cs在userHandle函数上报,当我在别的单片机改变cs[]的次数大于等于3时,底板mcu就不能给app上报数据,app上的数据变空白了。如果我把cs[]上报的语句屏蔽掉,无论别的单片机怎么改变cs[]都不会导致底板mcu不能上报数据,证明不是我的程序问题。想请教一下为什么不能这样上报数据

8

主题

27

帖子

314

积分

中级会员

Rank: 3Rank: 3

积分
314
沙发
 楼主| 发表于 2018-1-18 16:45:42 | 只看该作者
现在别的mcu跟底板mcu的通讯周期是一秒,就是说很有可能别的mcu在跟底板mcu通讯(同时改变了cs的数值)的同时底板mcu也在跟8266传递数据,不知道这样会不会影响到上报数据?然后我将别的mcu跟底板mcu的通讯周期改成10秒,只要我在别的mcu在跟底板mcu通讯之后才改变cs,这样就不会三次之后就不能上报数据了,这是机智云协议的问题吗?

36

主题

308

帖子

70

积分

注册会员

Rank: 2

积分
70
板凳
发表于 2018-1-19 14:51:42 | 只看该作者
机智云有上报的 接口,机智云的逻辑是有变化后上报,具体看日志把
G3机智云物联网云服务 287087942
有什么疑问,可以在论坛,qq群(优先在论坛哦,避免重复造轮子)
在论坛提问的回答率是100%!!!!!!!!
希望和大家一起交流学习.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表