硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1976|回复: 3
收起左侧

请问如何检测上升沿?

[复制链接]

1

主题

7

回帖

10

积分

新手上路

积分
10
发表于 2018-9-8 21:39:48 | 显示全部楼层 |阅读模式
请问使用了bsp_key例程的按键抖动滤波程序,如何继续检测按键的上升沿呢?
回复

使用道具 举报

86

主题

446

回帖

724

积分

金牌会员

积分
724
QQ
发表于 2018-9-8 23:36:51 | 显示全部楼层
本帖最后由 雷鹏 于 2018-9-8 23:39 编辑

例子有专门的按键处理例程
/*处理按键事件 */
                ucKeyCode = bsp_GetKey();
                if (ucKeyCode > 0)
                {
                        /*有键按下*/
                        switch (ucKeyCode)
                        {
                                case KEY_DOWN_K1:                /* 按键按下  检测下降沿 */
                                        bsp_LedOn(1);        /*点亮LED1 */
                                        break;

                                case KEY_UP_K1:                /* 按键 弹起 检测上升沿 */
                                        bsp_LedOff(1);        /* 熄灭LED1 */
                                        break;                               
                                default:
                                        break;
                        }
                }
回复

使用道具 举报

1

主题

7

回帖

10

积分

新手上路

积分
10
 楼主| 发表于 2018-9-8 23:45:16 | 显示全部楼层
本帖最后由 张浩 于 2018-9-8 23:57 编辑

我用的就是这个,但是这个好像不是上升沿立刻触发的,是做过延时防抖处理的。检测状态的。我现在不是只检测是否有按键按下或弹起状态,而是想检测一个触发沿。我其实是用光电管和按钮信号当按键使用,当按下按扭,LED灯亮,松开按扭,LED灯灭,然后当光电管有输出高电平时,LED灯灭。此时当按钮来一个上升沿时,LED灯又亮。而不是要按钮按下LED灯亮。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117538
QQ
发表于 2018-9-9 02:30:02 | 显示全部楼层
上升沿检测需要使用外部中断,参V5此例子学习即可
https://forum.anfulai.cn/forum.ph ... 9275&extra=page%3D1

QQ截图20180909022915.png
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-13 12:04 , Processed in 0.039577 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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