在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

STM32開發何使用STVP后就無法正常工作了

MCU開發加油站 ? 來源:互聯網 ? 作者:佚名 ? 2018-04-24 08:47 ? 次閱讀

前言

目前很多用戶在使用 STM8 的時候使用了 16MHz 的內部振蕩或者外部晶體來作為時鐘源。事實上,STM8 家族中有些系列是支持最高 24MHz 主頻的,比如 STM8S207、STM8AF52,等等。那么,需要更快的運行速度時,是否只需要使用更高的主頻就可以直接運行了呢?

問題

某客戶在其產品的設計中,使用了 STM8AF52A9。客戶工程師稱其一段以前已經驗證過的代碼,使用 STVP 下載后無法正常運行。但是他試過在 IAR for STM8 中是可以正常調試的,不知道為何使用 STVP 后就無法正常工作了呢?

調研

1.了解問題

使用編譯好的.s19 文件使用 STVP 燒寫到 STM8AF52A9,發現上電后是無法正常工作的。觀察用戶代碼,在 IAR 中進入調試狀態,可以斷點調試,單步調試,都可以。不過,最后發現在線調試時,一旦運行到以下代碼時,程序就死掉了。

status = CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO, CLK_SOURCE_HSE, DISABLE,CLK_CURRENTCLOCKSTATE_DISABLE);

2.分析問題

STM8 上電后默認的主時鐘源為內部 HSI RC 時鐘的 8 分頻,即 fHSI/8。原因是 HSI 時鐘的穩定時間短,而 8 分頻可保證系統在較差的 VDD條件下安全啟動。等主時鐘源穩定后,用戶可以自行將主時鐘切換到其他時鐘源上。

先來看一下剛才這個函數的原型:

ErrorStatus CLK_ClockSwitchConfig(CLK_SwitchMode_TypeDef CLK_SwitchMode,CLK_Source_TypeDef CLK_NewClock, FunctionalState ITState, CLK_CurrentClockState_TypeDefCLK_CurrentClockState)

它的作用在于切換時鐘源。CLK_SwitchMode 代表使用的切換方式,有自動切換和手動切換;CLK_NewClock 代表新的時鐘源;ITState 代表是否使能或禁用中斷;CLK_CurrentClockState 代表切換后原時鐘源的狀態是否保持或關閉。所以,用戶代碼的意思就是:使用自動切換方式,切換主時鐘到 HSE,不產生中斷,切換后原主時鐘源關閉。

切換主時鐘源后程序就出問題這種情況,看來問題很可能出在 HSE 上,必須對外部晶振進行檢測。原本思考是否 HSE 外部晶體的振蕩是否存在什么問題,但是在使用示波器進行檢測后發現 HSE 已經是在正常的振蕩當中了,而且波形很漂亮。但是,在示波器上看到頻率是 24MHz。檢查晶體上的標記,果然是 24MHz 的頻率。所以,客戶在使用 STM8AF52A9 時,為了提高性能,使用了最高主頻 24MHz。

客戶所遇到的問題應該就出在 24MHz 的使用上了。客戶以前使用都是 16MHz 的主頻。STM8 要求,如果用戶使用的主時鐘頻率超過了 16MHz,那么 Flash 以及 EEPROM 的訪問需要配置 1 個等待周期。

STM8AF52A9 數據手冊可見如下:

參考手冊 RM0016 在 HSE 的描述中,也提到了:

對于選擇 0 等待周期還是 1 等待周期,必須在選項字節中選擇。檢查芯片的選項字節,發現選擇的是 0 等待周期,所以問題就是就出在這了。

3.問題解決

使用 STVP,在 OPTION BYTE 頁面修改選項字節,將等待周期設置為 1 個等待周期,如下:

下載更新芯片的選項字節,使用之前的.hex 文件,可以正常工作了。

結論

由于使用的 24MHz 主頻已經超出 16MHz,而在選項字節中并沒有修改等待周期為 1 等待周期,導致在 Flash 訪問上存在問題,無法正常運行程序。

處理

需要修改選項字節,將等待周期修改為 1 等待周期。

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

    關注

    2270

    文章

    10921

    瀏覽量

    356933
  • 時鐘源
    +關注

    關注

    0

    文章

    93

    瀏覽量

    16011

原文標題:STM8使用24MHz外部晶振無法正常運行

文章出處:【微信號:mcugeek,微信公眾號:MCU開發加油站】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    請問上電如何判斷ADP2291正常工作了呢?

    輸入是4.9V,給4.2V鋰電池充電充不進去。請問我上電如何判斷ADP2291正常工作了呢?我如果不接鋰電池,測量第3個管腳BAT的電壓是0V;接上鋰電池測量3個管腳BAT的電壓是
    發表于 01-08 09:36

    STM32程序運行偶發不工作,只能重新燒錄程序才能正常的原因?

    STM32F051程序運行偶發不工作,表現無法通訊,也無法控制,重新上電也無法恢復,只能重新燒
    發表于 04-07 06:09

    LM358替換圣邦威SGM358后為什么無法正常工作了

    現在用LM358替換出現很大的問題:在3.3V供電情況下無法正常通信,將電壓提高到3.6V可以通信。手冊中單電源供電的范圍是3V~32V,3.3V是在此范圍內的,為什么
    發表于 08-30 08:01

    STVP的作用是什么

    文章目錄一、前述二、STVD的使用三、STVP的使用1、STVP的作用:2、STVP的使用四、串口燒錄程序一、前述STVD是意法半導體推出的,可以支持STM8和STM32而IAR不盡如
    發表于 07-15 09:01

    MCU休眠喚醒ST25R3914工作正常問題

    ,此時偶爾出現3914無法正常工作,目前測試兩個之間SPI通訊有,3914的RF口也有信號輸出,但是天線端沒有信號。這種情況只要出現只要不斷供電不管多少次喚醒都不能
    發表于 05-09 15:03

    造成AD623無法正常工作的原因是什么?

    接入10nF的電容,它無法正常工作,其輸出電壓等于偏置電壓,但是,去掉輸入串聯的電容,它又可以正常工作
    發表于 11-15 06:27

    為什么手按住晶振單片機就能工作了

    晶振為單片機提供時鐘頻率,有了時鐘頻率單片機才能正常工作。上電,如果晶振不起振導致單片機無法正常工作
    的頭像 發表于 10-13 16:26 ?5961次閱讀
    為什么手按住晶振<b class='flag-5'>后</b>單片機就能<b class='flag-5'>工作了</b>?

    STM32F4系列芯片無法正常工作的現象及原因分析集錦

    最近一年多開始使用STM32F4系列芯片,在使用開發板、評估板的時候一切正常,但當自己做板子的時候事故頻發,最典型的就是無法啟動、無法刷機,
    發表于 01-22 09:59 ?21次下載
    <b class='flag-5'>STM32</b>F4系列芯片<b class='flag-5'>無法</b><b class='flag-5'>正常</b><b class='flag-5'>工作</b>的現象及原因分析集錦

    1、STVD和STVP的使用及串口燒寫程序教程

    文章目錄一、前述二、STVD的使用三、STVP的使用1、STVP的作用:2、STVP的使用四、串口燒錄程序一、前述STVD是意法半導體推出的,可以支持STM8和STM32而IAR不盡如
    發表于 11-21 18:51 ?17次下載
    1、STVD和<b class='flag-5'>STVP</b>的使用及串口燒寫程序教程

    STM32每次下載正常運行,但是斷電或復位程序運行就無法正常運行的解決辦法

    STM32每次下載程序正常運行,但是斷電或復位程序運行就無法正常運行,大概解決辦法如下1、
    發表于 12-08 11:51 ?28次下載
    <b class='flag-5'>STM32</b>每次下載<b class='flag-5'>后</b><b class='flag-5'>正常</b>運行,但是斷電或復位<b class='flag-5'>后</b>程序運行就<b class='flag-5'>無法</b><b class='flag-5'>正常</b>運行的解決辦法

    STM32的SPI1,按下復位鍵無法通信或者用仿真器提供的電源時無法正常通信、只有當重新連接電源才正常通信

    最近利用STM32調試NRF24L01模塊進行無線收發通信,在實際調試過程中遇到以下問題:1.STM32板子在仿真器提供電源下,NRF24L01無法正常通信,當其它外部電源替換
    發表于 01-12 12:15 ?2次下載
    <b class='flag-5'>STM32</b>的SPI1,按下復位鍵<b class='flag-5'>無法</b>通信或者用仿真器提供的電源時<b class='flag-5'>無法</b><b class='flag-5'>正常</b>通信、只有當重新連接電源才<b class='flag-5'>正常</b>通信

    STM32G0復位死機

    有客戶反映,STM32G071RBT6 在使用 STM32CubeProgrammer 燒錄完程序只能運行一次,復位,程序無法運行,如果
    的頭像 發表于 03-17 10:56 ?7260次閱讀

    服務器在升級RAID卡固件版本無法正常啟動

    使用Unikits工具升級RAID卡固件版本,服務器無法正常啟動,系統進入救援模式。
    的頭像 發表于 06-26 11:12 ?1068次閱讀
    服務器在升級RAID卡固件版本<b class='flag-5'>后</b><b class='flag-5'>無法</b><b class='flag-5'>正常</b>啟動

    STM32無法正常輸出PWM信號的原因及解決方法

    無法正常輸出PWM信號的問題。本文將探討STM32無法正常輸出PWM信號的原因,并提供解決方法。 一、引腳配置錯誤
    的頭像 發表于 01-02 17:38 ?1w次閱讀

    為什么我的PoE設備無法正常工作

    Hi福專家,為什么我的PoE設備無法正常工作
    的頭像 發表于 01-25 11:13 ?960次閱讀
    為什么我的PoE設備<b class='flag-5'>無法</b><b class='flag-5'>正常</b><b class='flag-5'>工作</b>?
    主站蜘蛛池模板: 色老二精品视频在线观看| 日日摸夜夜爽夜夜爽出水| 欧美精品1| 欧美日韩精品一区二区另类| 日本三级免费网站| 欧美色天使| 久久青草免费免费91线频观看| 久久夜色撩人精品国产| 精品国产三级a∨在线| 国产欧美日韩综合精品一区二区| 国产乱码免费卡1卡二卡3卡四| 国产成人亚洲综合a∨婷婷| 在线免费看| 人人玩人人弄人人曰| 国产亚洲综合视频| 性欧美1819hd| 日本一级高清不卡视频在线| 边做饭边被躁欧美三级小说| 性色视频在线观看| 又粗又大的机巴好爽欧美| 亚洲一区精品中文字幕| 韩漫免费网站无遮挡羞羞漫画| 一区国产传媒国产精品| 特级毛片女人18毛片| 免费一级特黄特色大片在线| 韩国三级hd中文字幕好大| 在线播放国产不卡免费视频| 欧美黄色大片免费| 四虎tv在线观看884aa| 国产精品久久久久久一级毛片| 天堂在线看| 四虎永久在线精品免费影视| 欧美日韩一区二区三区视视频| 国产福利乳摇在线播放| 国产一级做a爰片久久毛片| 99视频全部免费| 久久天天躁夜夜躁狠狠躁2015 | 亚洲美女激情视频| 日本高清黄色| 日韩一级视频免费观看| 美国一级做a一级爱视频|