OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5637|回复: 9

关于长时间定时偶尔不准确的问题

[复制链接]

5

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2021-4-3
在线时间
41 小时
发表于 2021-8-2 14:17:58 | 显示全部楼层 |阅读模式
10金钱
非专业人士咨询。做了个物联网监测的东西,监测数据25-30分钟上传一次。我采用RTC计数方法定时:。。。。
ft = RTC_GetCounter();
while(1)
    {
     t= RTC_GetCounter();
     if((t-ft)%1800==0)//计时半小时,1800秒
{    任务语句 }


    }

问题:有时达到if条件时不能执行任务语句。即:应该是每1800秒执行一次语句,但不知道哪个1800秒就会出问题,不执行任务语句。不知道表述清楚没有。感谢高人指点

最佳答案

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2021-4-3
在线时间
41 小时
 楼主| 发表于 2021-8-2 14:17:59 | 显示全部楼层
shj162 发表于 2021-8-3 15:11
ft = RTC_GetCounter();
while(1)
    {

感谢,好用。
回复

使用道具 举报

3

主题

821

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3369
金钱
3369
注册时间
2011-11-10
在线时间
207 小时
发表于 2021-8-3 08:49:23 | 显示全部楼层
有没有看门狗?
回复

使用道具 举报

5

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2021-4-3
在线时间
41 小时
 楼主| 发表于 2021-8-3 09:45:41 | 显示全部楼层
c2007s 发表于 2021-8-3 08:49
有没有看门狗?

没有用看门狗
回复

使用道具 举报

11

主题

2147

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4894
金钱
4894
注册时间
2015-1-10
在线时间
612 小时
发表于 2021-8-3 09:48:18 | 显示全部楼层
有可能取时间的时候没取成功,这个我遇到过,这种定时处理的建议直接用闹钟中断
回复

使用道具 举报

13

主题

643

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2432
金钱
2432
注册时间
2019-12-28
在线时间
527 小时
发表于 2021-8-3 09:57:56 | 显示全部楼层
可以试试加上个看门狗,估计获取时间因为网络问题导致获取失败。
回复

使用道具 举报

3

主题

1907

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4106
金钱
4106
注册时间
2018-8-14
在线时间
696 小时
发表于 2021-8-3 12:07:15 | 显示全部楼层
if((t-ft) >=1800)
{ ft+=1800;   
  任务语句 }

回复

使用道具 举报

0

主题

48

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2934
金钱
2934
注册时间
2015-8-30
在线时间
338 小时
发表于 2021-8-3 15:11:54 | 显示全部楼层
ft = RTC_GetCounter();
while(1)
    {
     t= RTC_GetCounter();
     if((t-ft) >= 1800)//计时半小时,1800秒
{    任务语句

ft = RTC_GetCounter();
}


    }
学无止境
回复

使用道具 举报

5

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2021-4-3
在线时间
41 小时
 楼主| 发表于 2021-8-4 14:26:55 | 显示全部楼层
edmund1234 发表于 2021-8-3 12:07
if((t-ft) >=1800)
{ ft+=1800;   
  任务语句 }

非常感谢,好用。跟8楼一个思路
回复

使用道具 举报

5

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2021-4-3
在线时间
41 小时
 楼主| 发表于 2021-8-4 14:27:21 | 显示全部楼层
阿侑kevin 发表于 2021-8-3 09:48
有可能取时间的时候没取成功,这个我遇到过,这种定时处理的建议直接用闹钟中断

用8楼的测试了一夜,好像解决了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-26 02:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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