OpenEdv-开源电子网

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

我想做一个跟空调定时一样的功能,设置一个时长,到了这个时长就执行某个函数,有什么思路吗

[复制链接]

6

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2020-11-27
在线时间
34 小时
发表于 2021-6-3 14:09:10 | 显示全部楼层 |阅读模式
我想做一个跟空调定时一样的功能,设置一个时长,到了这个时长就执行某个函数,有什么思路吗
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

100

帖子

0

精华

高级会员

Rank: 4

积分
800
金钱
800
注册时间
2019-8-15
在线时间
425 小时
发表于 2021-6-3 14:24:39 | 显示全部楼层
这是我的一种写法,就是比较时间稍微麻烦点,但是不占中断,只要开机,不会有漏掉的情况。

649BC974-12DC-49c7-AE6E-AAB08D4A35D0.png
回复 支持 反对

使用道具 举报

9

主题

100

帖子

0

精华

高级会员

Rank: 4

积分
800
金钱
800
注册时间
2019-8-15
在线时间
425 小时
发表于 2021-6-3 14:28:17 | 显示全部楼层
鲸鱼niko 发表于 2021-6-3 14:24
这是我的一种写法,就是比较时间稍微麻烦点,但是不占中断,只要开机,不会有漏掉的情况。

核心思路就是,时间是单调线性增加的,一天内的时间,全部转换成秒,来比较大小
回复 支持 反对

使用道具 举报

6

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2020-11-27
在线时间
34 小时
 楼主| 发表于 2021-6-3 14:33:49 | 显示全部楼层
鲸鱼niko 发表于 2021-6-3 14:28
核心思路就是,时间是单调线性增加的,一天内的时间,全部转换成秒,来比较大小

那你的RTC是怎么配置的
回复 支持 反对

使用道具 举报

9

主题

100

帖子

0

精华

高级会员

Rank: 4

积分
800
金钱
800
注册时间
2019-8-15
在线时间
425 小时
发表于 2021-6-3 14:45:21 | 显示全部楼层
利海鹏 发表于 2021-6-3 14:33
那你的RTC是怎么配置的

rtc配置就是普通配置,开启rtc就完了,主函数轮询获取rtc值
回复 支持 反对

使用道具 举报

4

主题

83

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
205
金钱
205
注册时间
2019-11-12
在线时间
77 小时
发表于 2021-6-3 15:43:25 | 显示全部楼层
定时器里面打标记,大循环里做个if不就行了么。。。
回复 支持 反对

使用道具 举报

70

主题

6761

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13100
金钱
13100
注册时间
2012-11-26
在线时间
3811 小时
发表于 2021-6-3 15:58:33 | 显示全部楼层
nstopb 发表于 2021-6-3 15:43
定时器里面打标记,大循环里做个if不就行了么。。。

都不知道楼主在纠结啥。。。
学无止境
回复 支持 反对

使用道具 举报

0

主题

65

帖子

0

精华

高级会员

Rank: 4

积分
523
金钱
523
注册时间
2017-12-21
在线时间
76 小时
发表于 2021-6-3 16:08:45 | 显示全部楼层
main()
{
        定时器初始化;
        while(1)
        {
                if(设置定时器请求)
                {
                        设置定时器时长;
                }
                if(定时器时间到)
                {
                        执行函数;
                }
        }
}
回复 支持 反对

使用道具 举报

12

主题

3389

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8643
金钱
8643
注册时间
2020-5-11
在线时间
4098 小时
发表于 2021-6-3 22:07:04 | 显示全部楼层
倒计时?
回复 支持 反对

使用道具 举报

10

主题

778

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6741
金钱
6741
注册时间
2017-4-12
在线时间
1258 小时
发表于 2021-6-4 08:27:11 | 显示全部楼层
如果有小系统,用软件定时器,如果不用系统,在定时器里面计时间,达到时间置位,主循环查询置位标志判断是否执行
回复 支持 反对

使用道具 举报

6

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2020-11-27
在线时间
34 小时
 楼主| 发表于 2021-6-4 15:18:37 | 显示全部楼层

差不多是这样
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-23 01:07

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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