0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM32f0按鍵模塊電路經(jīng)常遇到上電不復位的情況

2oON_changxuemc ? 來源:lp ? 2019-04-12 10:46 ? 次閱讀

描述:

STM32f0按鍵模塊電路經(jīng)常遇到上電不復位的情況,芯片采用的是stm32f030,按鍵模塊采用ZLG7290芯片、4X4按鍵LED矩陣。ZLG7290是周立功公司專門開發(fā)的按鍵芯片,其最大可支持64個按鍵和64個LED,可通過I2C協(xié)議對其讀寫,ZLG7290與stm32f030復位電路采用datasheet參考電路,如下:

正常情況下,電路上電后會有一個LED全部點亮的過程,上電穩(wěn)定延時后,LED自動全部熄滅,正常運行時,按下相應按鍵其對應的LED燈應被點亮。

問題:

STM32復位電路內部有自帶的上拉電阻,同時PVD的電源檢測閾值采用的是默認值2.2V,采用電池供電,電壓表測量引腳電壓在2.8V左右,但是電路上電后不能正常運行,LED矩陣上電不能被點亮,按鍵按下后相應LED燈無反應。

測試

stm32f030復位測試

stm32f030上電復位后,程序依次執(zhí)行初始化的過程,其中包括設置時鐘為內部48MHZ時鐘頻率,設置并啟動串口、I2C等,之后執(zhí)行LED燈全部點亮函數(shù),延時3s關閉所有LED并進入主功能程序。

測試任務:stm32f030是否能復位:

既然上電后LED燈不能全部點亮,則LED燈全部點亮函數(shù)不能正常執(zhí)行,則在此函數(shù)之前添加一個UART串口發(fā)送函數(shù)。

測試結果:

串口發(fā)送函數(shù)被執(zhí)行,在超級終端收到正常的數(shù)據(jù)。

此時表示stm32f030能正常復位。

測試任務:注釋掉LED燈全部點亮函數(shù)

此時上電后,LED不能被全部點亮(函數(shù)被注釋),但是按下按鍵后相應LED可以被點亮。此時可鎖定問題在LED燈全部點亮函數(shù)上。

分析:

LED燈全部點亮函數(shù)實際上是一個I2C寫函數(shù),通過向ZLG7290相應寄存器寫入0xFF,可點亮LED。采用上面測試的方法,在函數(shù)的每一條語句之前插入一條UART發(fā)送函數(shù),分析執(zhí)行情況,其中

while(I2C_GetFlagStatus(I2C1,I2C_FLAG_TXIS)==RESET);

執(zhí)行沒有問題,再次說明stm32f030能正常復位。但是在

I2C_Senddata(I2C1, data);

語句之后,UART發(fā)送函數(shù)不能被正常執(zhí)行,因此問題被鎖定。

ZLG7290不能被正常讀寫,很可能ZLG7290沒有被復位。

查閱ZLG7290的datasheet,發(fā)現(xiàn)ZLG7290復位時間在20ms左右,其遠遠大于stm32f030,因而產生ZLG7290沒有正常復位的情況。

結論:

電路上電不復位的原因可能是多方面的,特別是stm32f030和外圍電路均需要復位的情況,因此各個模塊可能需要隔離測試,最終鎖定問題才能找到解決的方法。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • led
    led
    +關注

    關注

    240

    文章

    23072

    瀏覽量

    657082
  • STM32
    +關注

    關注

    2264

    文章

    10854

    瀏覽量

    354308
  • 復位電路
    +關注

    關注

    13

    文章

    320

    瀏覽量

    44504

原文標題:STM32上電復位不正常 手動復位正常的原因

文章出處:【微信號:changxuemcu,微信公眾號:暢學單片機】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    STM32F0技術介紹及對比

    STM32F0技術介紹及對比手中有利器,方為真英雄。
    發(fā)表于 04-29 16:50 ?17次下載

    STM32F0硬件開發(fā)入門

    分享一份STM32F0的硬件開發(fā)資料
    發(fā)表于 12-16 17:23 ?26次下載

    STM32F0系列產品簡介

    STM32F0系列產品簡介
    發(fā)表于 09-29 15:13 ?22次下載

    STM32F0系列概覽

    STM32F0系列是基于Cortex-M0內核的32位入門級產品系列,沿用現(xiàn)有STM32優(yōu)異基因,針對8位MCU市場,為成本敏感型應用而設計的。 STM32F0 總覽
    發(fā)表于 11-29 18:13 ?4487次閱讀
     <b class='flag-5'>STM32F0</b>系列概覽

    使用Coocox建立STM32F0項目

    使用Coocox建立基于STM32F0 Discovery的項目
    的頭像 發(fā)表于 07-06 02:09 ?3244次閱讀
    使用Coocox建立<b class='flag-5'>STM32F0</b>項目

    關于STM32F0講座:內核

    STM32F0產品技術講座:第一節(jié) 內核
    的頭像 發(fā)表于 07-05 00:15 ?3902次閱讀

    STM32F0—電源控制

    STM32F0—電源控制(開關電源技術與設計 潘永雄pdf)-電源控制 PWR
    發(fā)表于 09-29 18:29 ?50次下載
    <b class='flag-5'>STM32F0</b>—電源控制

    stm32f0 discovery開發(fā)包

    stm32f0 discovery開發(fā)包分享
    發(fā)表于 09-07 15:30 ?11次下載

    AN5145_從STM32F0系列遷移到STM32G0系列的應用

    AN5145_從STM32F0系列遷移到STM32G0系列的應用
    發(fā)表于 11-21 17:06 ?17次下載
    AN5145_從<b class='flag-5'>STM32F0</b>系列遷移到<b class='flag-5'>STM32G0</b>系列的應用

    AN5145_從STM32F0系列到 STM32G0 系列的應用移手冊

    AN5145_從STM32F0系列到 STM32G0 系列的應用移手冊
    發(fā)表于 11-21 17:06 ?13次下載
    AN5145_從<b class='flag-5'>STM32F0</b>系列到 <b class='flag-5'>STM32G0</b> 系列的應用移手冊

    AN4617_從STM32F0STM32L0的軟件移植

    AN4617_從STM32F0STM32L0的軟件移植
    發(fā)表于 11-21 17:06 ?5次下載
    AN4617_從<b class='flag-5'>STM32F0</b>到<b class='flag-5'>STM32L0</b>的軟件移植

    UM1779_STM32CubeF0入門之STM32F0系列

    UM1779_STM32CubeF0入門之STM32F0系列
    發(fā)表于 11-22 08:22 ?9次下載
    UM1779_<b class='flag-5'>STM32CubeF0</b>入門之<b class='flag-5'>STM32F0</b>系列

    STM32F0—電源控制

    電子發(fā)燒友網(wǎng)站提供《STM32F0—電源控制.pdf》資料免費下載
    發(fā)表于 07-31 14:56 ?0次下載
    <b class='flag-5'>STM32F0</b>—電源控制

    為什么STM32F0系列芯片里面沒有VTOR

    為什么基于STM32G0、STM32L0系列芯片里有VTOR而STM32F0系列又沒有? 用過STM32G0、STM32L0系列芯片并做過I
    的頭像 發(fā)表于 09-09 15:40 ?1452次閱讀
    為什么<b class='flag-5'>STM32F0</b>系列芯片里面沒有VTOR

    STM32F0系列MCU硬件電路boot設計

    Boot配置的作用是用于選擇芯片上后從何處讀取可執(zhí)行代碼運行,STM32F0系列MCU可以從Main flash memory、System memory、Embedded SRAM三個地方boot。
    的頭像 發(fā)表于 09-27 14:21 ?2743次閱讀
    <b class='flag-5'>STM32F0</b>系列MCU硬件<b class='flag-5'>電路</b>boot設計