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

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

3天內(nèi)不再提示

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

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

描述:

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

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

問題:

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

測試

stm32f030復(fù)位測試

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

測試任務(wù):stm32f030是否能復(fù)位:

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

測試結(jié)果:

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

此時表示stm32f030能正常復(fù)位。

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

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

分析:

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

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

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

I2C_Senddata(I2C1, data);

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

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

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

結(jié)論:

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

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

    關(guān)注

    240

    文章

    22988

    瀏覽量

    654603
  • STM32
    +關(guān)注

    關(guān)注

    2263

    文章

    10846

    瀏覽量

    353769
  • 復(fù)位電路
    +關(guān)注

    關(guān)注

    13

    文章

    319

    瀏覽量

    44487

原文標(biāo)題:STM32上電復(fù)位不正常 手動復(fù)位正常的原因

文章出處:【微信號:changxuemcu,微信公眾號:暢學(xué)單片機】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    STM32F0技術(shù)介紹及對比

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

    STM32F0硬件開發(fā)入門

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

    STM32F0系列產(chǎn)品簡介

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

    STM32F0系列概覽

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

    使用Coocox建立STM32F0項目

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

    關(guān)于STM32F0講座:內(nèi)核

    STM32F0產(chǎn)品技術(shù)講座:第一節(jié) 內(nèi)核
    的頭像 發(fā)表于 07-05 00:15 ?3866次閱讀

    STM32F0—電源控制

    STM32F0—電源控制(開關(guān)電源技術(shù)與設(shè)計 潘永雄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 ?10次下載

    AN5145_從STM32F0系列遷移到STM32G0系列的應(yīng)用

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

    AN5145_從STM32F0系列到 STM32G0 系列的應(yīng)用移手冊

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

    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 ?8次下載
    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 ?1407次閱讀
    為什么<b class='flag-5'>STM32F0</b>系列芯片里面沒有VTOR

    STM32F0系列MCU硬件電路boot設(shè)計

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