久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4130|回復: 12
打印 上一主題 下一主題
收起左側

萌新想請問一下單片機大佬怎么實現同一個按鈕第一次按下和第二次按下效果不一樣。

[復制鏈接]
跳轉到指定樓層
樓主
ID:811125 發表于 2020-8-5 11:25 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
具體來說就是第一次按下按鈕小燈會亮10S,如果在小燈亮的10S之內再次按下開關,小燈就會熄滅。麻煩各位大佬了!
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:332444 發表于 2020-8-5 14:38 | 只看該作者
提前結束延時就是
回復

使用道具 舉報

板凳
ID:332444 發表于 2020-8-5 14:40 | 只看該作者
設置一個變量表示第一次按下,第二次按下判斷此變量結束延時。
回復

使用道具 舉報

地板
ID:811576 發表于 2020-8-5 16:23 | 只看該作者
可以按照下面代碼的思路來實現

static int flag = 0;

void main(void) {
        int32 i = 0;
        while (1) {
                if ((flag == 0) && (key)){
                        //延時10s 設置delay標志
                        if(delay) {
                                flag = 1;
                        } else {
                                flag = 0;
                        }
                } else if ((flag == 1) && (key)) {
                        //關閉led
                        flag = 0;
                }
        }
}
回復

使用道具 舉報

5#
ID:811576 發表于 2020-8-5 16:25 | 只看該作者
可以按照下面代碼的思路進行編碼

static int flag = 0;

void main(void) {
        int32 i = 0;
        while (1) {
                if ((flag == 0) && (key)){
                        //延時10s 設置delay標志
                        if(delay) {
                                flag = 1;
                        } else {
                                flag = 0;
                        }
                } else if ((flag == 1) && (key)) {
                        //關閉led
                        flag = 0;
                }
        }
}
回復

使用道具 舉報

6#
ID:811568 發表于 2020-8-5 17:08 | 只看該作者
1.方法1:設置計數器記下案件的次數,然后再不同次數完成不同操作
1.方法2:用定時器判斷按下按鍵的時間,不同時間不同操作。
回復

使用道具 舉報

7#
ID:592807 發表于 2020-8-5 17:23 | 只看該作者
定義一個全局變量當標志位,每按一次標志位數字改變一次。不同數值的標志位啟動不同功能
回復

使用道具 舉報

8#
ID:462827 發表于 2020-8-5 21:09 | 只看該作者
用狀態標識就行
回復

使用道具 舉報

9#
ID:716656 發表于 2020-8-6 11:12 | 只看該作者
按鍵-消抖-按鍵-松手,a++,if(a%=?)
回復

使用道具 舉報

10#
ID:457495 發表于 2020-8-6 16:29 | 只看該作者
簡單來說,就是一個邏輯問題。
回復

使用道具 舉報

11#
ID:457495 發表于 2020-8-6 16:31 | 只看該作者
簡單來說就是邏輯問題,如果你的按鍵有用,你原來是檢測按鍵按下之后執行一個函數,那你就設置一個變量。只要按下一次這個變量+1,那么再使用CASE去檢測變量的值,這樣就可以實現,按不同的次數執行不同的函數程序,記得要將變量清零,然后按鍵的防抖動要做好。
回復

使用道具 舉報

12#
ID:811125 發表于 2020-8-12 15:47 | 只看該作者
xianfajushi 發表于 2020-8-5 14:40
設置一個變量表示第一次按下,第二次按下判斷此變量結束延時。

謝謝您!
回復

使用道具 舉報

13#
ID:813773 發表于 2020-8-13 20:37 | 只看該作者
可以用按鍵計數,第一下與第二下電位相反
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本精品一区二区三区在线观看视频 | 久久人爽| 亚洲一区二区精品 | 国产aⅴ爽av久久久久久久 | 免费在线黄 | 亚洲国产精品99久久久久久久久 | 亚洲精品久久久久久久久久久久久 | www久久爱 | 黄色网址免费看 | 久久久视 | 国产精品伦一区二区三级视频 | 一区二区免费 | 婷婷中文在线 | 国产精品99一区二区 | 中文字幕二区 | 久久久91精品国产一区二区三区 | 中文字幕亚洲国产 | 国产精品久久久久久高潮 | 亚洲精品在线免费观看视频 | 亚洲午夜av久久乱码 | 日日摸夜夜爽人人添av | 在线免费观看黄a | 九九热精品免费 | 亚洲精品18 | 在线观看国产视频 | www.日本三级| 日韩爱爱网站 | 性色av一区二区三区 | 亚洲高清一区二区三区 | 成人av片在线观看 | 中日韩欧美一级片 | 99精品一级欧美片免费播放 | 精品欧美一区二区三区久久久 | 国产馆| 日日天天 | 在线一区二区三区 | 一区二区视频在线 | 精品国产一区二区久久 | 亚洲视频在线播放 | 黄色欧美在线 | 国产一区二区三区在线视频 |