OpenEdv-开源电子网

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

待机唤醒

[复制链接]

10

主题

68

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
253
金钱
253
注册时间
2016-9-15
在线时间
48 小时
发表于 2019-4-17 10:26:08 | 显示全部楼层 |阅读模式
3金钱
待机唤醒实验中(Mini版),处在待机状态时,为什么仍要按下按键3秒钟才能唤醒,教程中不是说只需要PA0一个上升沿就可以了吗?

再者,如果说需要按键按下3秒钟,那么是不是可以这样理解:中断服务函数仍在工作(不然如何解释这个”是否大于3秒钟的按键检查函数“),但是如果中断函数仍然在工作的话,那不是又进入待机状态了吗?最后处在待机状态下,中断的时钟应该是不工作的吧?

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

使用道具 举报

6

主题

279

帖子

0

精华

高级会员

Rank: 4

积分
750
金钱
750
注册时间
2015-3-27
在线时间
98 小时
发表于 2019-4-17 10:38:09 | 显示全部楼层
本帖最后由 弦子的弦 于 2019-4-17 11:13 编辑

记得三种模式的唤醒,都是立即的。原子哥做了逻辑处理的。[mw_shl_code=c,true]

u8 Check_WKUP(void)
{
        u8 t=0;
        LED0=0;
        while(1)
        {
                if(WKUP_KD)
                {
                        t++;
                        delay_ms(30);
                        if(t>=100)                /
                        {
                                LED0=0;
                                return 1;
                        }
                }else
                {
                        LED0=1;
                        return 0;
                }
        }
}  [/mw_shl_code]
回复

使用道具 举报

10

主题

83

帖子

0

精华

高级会员

Rank: 4

积分
928
金钱
928
注册时间
2016-3-21
在线时间
112 小时
发表于 2019-4-17 10:52:03 | 显示全部楼层
原子做的处理而已,可以设置随意时间的。
回复

使用道具 举报

10

主题

68

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
253
金钱
253
注册时间
2016-9-15
在线时间
48 小时
 楼主| 发表于 2019-4-17 15:24:15 | 显示全部楼层
弦子的弦 发表于 2019-4-17 10:38
记得三种模式的唤醒,都是立即的。原子哥做了逻辑处理的。[mw_shl_code=c,true]

u8 Check_WKUP(void)

那这样的话,就是说在待机模式的时候,这个按键检查函数还有用???不是说待机的时候,许多时钟都关闭了吗?为什么这个函数还能运行???
回复

使用道具 举报

10

主题

68

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
253
金钱
253
注册时间
2016-9-15
在线时间
48 小时
 楼主| 发表于 2019-4-17 15:24:38 | 显示全部楼层
那这样的话,就是说在待机模式的时候,这个按键检查函数还有用???不是说待机的时候,许多时钟都关闭了吗?为什么这个函数还能运行???
回复

使用道具 举报

10

主题

68

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
253
金钱
253
注册时间
2016-9-15
在线时间
48 小时
 楼主| 发表于 2019-4-17 15:26:26 | 显示全部楼层
弦子的弦 发表于 2019-4-17 10:38
记得三种模式的唤醒,都是立即的。原子哥做了逻辑处理的。[mw_shl_code=c,true]

u8 Check_WKUP(void)

那这样的话,就是说在待机模式的时候,这个按键检查函数还有用???不是说待机的时候,许多时钟都关闭了吗?为什么这个函数还能运行???
回复

使用道具 举报

10

主题

68

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
253
金钱
253
注册时间
2016-9-15
在线时间
48 小时
 楼主| 发表于 2019-4-17 15:27:22 | 显示全部楼层
触电丶 发表于 2019-4-17 10:52
原子做的处理而已,可以设置随意时间的。

那这样的话,就是说在待机模式的时候,这个按键检查函数还有用???不是说待机的时候,许多时钟都关闭了吗?为什么这个函数还能运行???
回复

使用道具 举报

6

主题

279

帖子

0

精华

高级会员

Rank: 4

积分
750
金钱
750
注册时间
2015-3-27
在线时间
98 小时
发表于 2019-4-17 15:31:46 | 显示全部楼层
shichuang 发表于 2019-4-17 15:26
那这样的话,就是说在待机模式的时候,这个按键检查函数还有用???不是说待机的时候,许多时钟都关闭了 ...

你也知道是许多,原子延时是用滴答时钟吧,这个应该没有关闭
回复

使用道具 举报

10

主题

68

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
253
金钱
253
注册时间
2016-9-15
在线时间
48 小时
 楼主| 发表于 2019-4-17 15:50:15 | 显示全部楼层
弦子的弦 发表于 2019-4-17 15:31
你也知道是许多,原子延时是用滴答时钟吧,这个应该没有关闭

那待机的时候为什么这个函数还能起作用啊?
回复

使用道具 举报

6

主题

279

帖子

0

精华

高级会员

Rank: 4

积分
750
金钱
750
注册时间
2015-3-27
在线时间
98 小时
发表于 2019-4-18 00:16:30 | 显示全部楼层
shichuang 发表于 2019-4-17 15:50
那待机的时候为什么这个函数还能起作用啊?

我没有看代码,一般来说,这个函数能用是因为已经唤醒了,然后就进入检查函数,如果符合长按条件,继续运行。不过中途用户松开按键,重新进入待机状态。
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2020-1-16
在线时间
3 小时
发表于 2020-2-21 23:24:41 来自手机 | 显示全部楼层
待机时为什么还能检测是否按键按下了3秒从而开机
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

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

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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