找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2699|回復(fù): 9
打印 上一主題 下一主題
收起左側(cè)

關(guān)于STM32F103按鍵問題,偶爾有一次誤跳

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:497468 發(fā)表于 2020-12-24 21:15 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我用103做了個時鐘,   在 A口做了4個按鍵,用的是上拉輸入方法,但是在實際使用過程中發(fā)現(xiàn),按鍵有誤按的問題,會自已跳,但確實沒有按鍵.
后來我在A口上面物理的連接了4個5.1 K的上拉電阻,效果就好多了,但是在使用幾個小時后或者偶爾有一次誤跳,請問各位大俠,這個是什么原因造成的,如何徹底解決這個問題?  

可以確認(rèn)按鍵沒有問題.已經(jīng)更換過一批了,還是一樣.  是程序的問題嗎?還是輸入口設(shè)置不對呀
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:684084 發(fā)表于 2020-12-24 22:08 | 只看該作者
按鍵那里并個104電容吧,軟件采集多判斷幾次結(jié)果一致才算有效,硬件軟件防抖
回復(fù)

使用道具 舉報

板凳
ID:95703 發(fā)表于 2020-12-25 09:15 | 只看該作者
有做軟件防抖了嗎?或者加103電容防抖。
回復(fù)

使用道具 舉報

地板
ID:373388 發(fā)表于 2020-12-25 10:53 | 只看該作者
應(yīng)該是程序的問題,如果按鍵按下1此,會多次觸發(fā)按鍵,就是軟件防抖處理沒做好,或者硬件加電容處理,如果沒有按鍵會觸發(fā)按鍵功能,尾部干擾的可能性不大,應(yīng)該是軟件沒處理好,端口配置等等。
回復(fù)

使用道具 舉報

5#
ID:511543 發(fā)表于 2020-12-25 11:37 | 只看該作者
這個問題不是很棘手,如果你按鍵是設(shè)計為低電平有效,那么設(shè)計硬件上拉,如果是低電平有效,設(shè)計硬件下拉,驅(qū)動方面,如果是按鍵輪詢,加點延時消抖,如果是中斷,也應(yīng)加點延時消抖,雙重保證。我用這么多年年,妥妥的。
回復(fù)

使用道具 舉報

6#
ID:497468 發(fā)表于 2020-12-25 20:33 | 只看該作者
                        if(!KEY_UP&&!key_flag1)         //         UP°′¼ü3ìDò
                        {
                        delay_ms(10)        ;
                       
                        if(!KEY_UP)
                        {
                        key_flag1=1;
                         menu=12;            //ÕaàïD′òaÖ′DDμÄ3ìDò
                        } }
                        else if(KEY_UP)
                        {
                        key_flag1=0;
                        }
回復(fù)

使用道具 舉報

7#
ID:497468 發(fā)表于 2020-12-25 20:44 | 只看該作者
我覺得和消抖沒有什么關(guān)系,   因為我做了防抖,而且做了按下不會有多次的觸發(fā)現(xiàn)象.松手前只會算一次.
現(xiàn)在是不去按鍵時,會自己跳動, 我懷疑是干擾的問題,因為我加了上拉電阻后,有明顯的改善,但是幾個小時后會偶爾會有一次有一個鍵觸發(fā)了,
按鍵檢測一直放在大循環(huán)中檢測,是不是速度太快了,導(dǎo)致沒有讀到A口引腳的電壓,導(dǎo)致誤判斷為低電平?
選擇IO接口工作方式:
GPIO_Mode_AIN 模擬輸入
GPIO_Mode_IN_FLOATING 浮空輸入
GPIO_Mode_IPD 下拉輸入
GPIO_Mode_IPU 上拉輸入
GPIO_Mode_Out_PP 推挽輸出
GPIO_Mode_Out_OD 開漏輸出
GPIO_Mode_AF_PP 復(fù)用推挽輸出
GPIO_Mode_AF_OD 復(fù)用開漏輸出
我用的是上拉輸入,這個設(shè)置是對的嗎?
回復(fù)

使用道具 舉報

8#
ID:14242 發(fā)表于 2020-12-25 21:56 | 只看該作者
硬件的濾波做好,上拉和RC濾波也做好,還有程序上要做去抖動識別,否則肯定會出現(xiàn)這種情況。
回復(fù)

使用道具 舉報

9#
ID:497468 發(fā)表于 2020-12-26 10:04 | 只看該作者
我又試過用配置成GPIO_Mode_IN_FLOATING 浮空輸入,然后在上拉電阻,剛開始還是比較穩(wěn) 的,昨晚沒有出現(xiàn),但今天早上開機1小時后,又有一個按鍵誤動了.
1,我在按鍵與地之間串接了個10K的電阻,這個有影響嗎?
2,這個芯片我是在TB上買的6元一片的,是不是假的,造成這個問題的? 按理說就算是國產(chǎn)的也不會有這個問題呀,
3,芯片內(nèi)部采用了上拉方式輸入,為何還要在外部做上拉的這個呢,這不是重復(fù)了嗎?
回復(fù)

使用道具 舉報

10#
ID:497468 發(fā)表于 2020-12-26 19:14 | 只看該作者
感謝各位,現(xiàn)在按上面幾位的建議,在輸入端并了一個104電容,配置改為上拉, 已經(jīng)老化一下午了,暫時沒有出現(xiàn)亂跳的現(xiàn)象了,
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表