收藏官网首页
查看: 13625|回复: 4

[经验分享] 关于MCU开发生成的代码中上报机制有疑问

0

主题

7

帖子

48

积分

新手上路

Rank: 1

积分
48
楼主
发表于 2017-4-3 19:19:11 | 显示全部楼层
汉枫LPB120模块
本帖最后由 大灰狼 于 2017-4-3 19:26 编辑

这个地方确实有些问题吧:1、是有可能楼主描述的存在这种问题的。
2、变化上报也存在问题吧...
  1.     if(last->valuetemperature_sta != cur->valuetemperature_sta)
  2.     {
  3.         if(gizGetTimerCount()-lastReportTime >= REPORT_TIME_MAX)
  4.         {
  5.             GIZWITS_LOG("valuetemperature_sta Changed\n");
  6.             lastReportTime = gizGetTimerCount();
  7.             ret = 1;
  8.         }
  9.     }
复制代码

0

主题

7

帖子

48

积分

新手上路

Rank: 1

积分
48
沙发
发表于 2017-4-3 19:28:46 | 显示全部楼层
大灰狼 发表于 2017-4-3 19:19
这个地方确实有些问题吧:1、是有可能楼主描述的存在这种问题的。
2、变化上报也存在问题吧... ...

/**
* @brief 系统毫秒计时维护函数,毫秒自增,溢出归零

* @param none
* @return none
*/
static uint32_t timerMsCount;
void gizTimerMs(void)
{
    timerMsCount++;
}

/**
* @brief 读取系统时间毫秒计时数

* @param none
* @return 系统时间毫秒数
*/
uint32_t gizGetTimerCount(void)
{
    return timerMsCount;
}
timerMsCount溢出归零后,中间的IF就不成立,后面就不会变化上报了。算了一下时间,大概要两个月左右的时间才会出现。

0

主题

7

帖子

48

积分

新手上路

Rank: 1

积分
48
板凳
发表于 2017-4-3 19:30:23 | 显示全部楼层
大灰狼 发表于 2017-4-3 19:28
/**
* @brief 系统毫秒计时维护函数,毫秒自增,溢出归零

另外定时上报是不是也应该更新一下,lastReportTime呢?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

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

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