• <pre id="rw7vf"></pre>

            1. <strike id="rw7vf"></strike>

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

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

              3天內不再提示

              STM32應用相關問答解析

              茶話MCU ? 來源:茶話MCU ? 作者:茶話MCU ? 2024-01-02 09:24 ? 次閱讀

              這里就STM32用戶咨詢到的幾個問題,稍加整理分享出來供君參考。

              第1問:我目前使用STM32G0B1,代碼里有設計BOOT代碼,想在跳轉前清理各類使用過的外設寄存器。請問STM32有沒有復位所有外設寄存器的函數?

              答:其實,每個STM32系列都有相關寄存器和應用函數用來針對指定外設或掛在指定總線上的外設進行批量復位,即令其回歸到初始復位狀態。以STM32G0系列為例,在STM32HAL庫里就有類似下面的各種實現函數。

              d7376692-a6ed-11ee-8b88-92fbcf53809c.png

              關于這個話題可以參考本公眾號另外一篇文章《話說STM32外設復位》,那里有更多詳細解讀,此處就不再贅述。

              第2問:我在使用STM32F730的時候,如果SRAM設置到0x20010000 - 0x2001FFFF之間,DMA傳輸流程都對,但是SPI輸出的數據不對,這是怎么回事?另外,在用USB的bulk傳輸的時候也是,數據有時是對的,有時候錯的。

              如果SRAM的緩沖區設置到0x20000000-0x2000FFFF之間的時候,就一切正常。請問這是什么原因?

              答:現在問題是,只要代碼使用的RAM內存鎖定在0x20000000-0x2000FFFF之間時功能都正常,只有使用到0x20010000之后的RAM才有異常。結合他使用的芯片STM32F730,基于ARM Cortex-M7內核的,芯片里有高速L1 Cache。同時,他的代碼里還用到了DMA。這樣看來,如果他的代碼啟用了D-Cache,用到2個主設備【CPU和DMA】,如果沒有針對D-Cache的使用做合理的配置,就很可能發生數據一致性方面的問題。經用戶的進一步反饋,他的代碼里也的確使用了D-Cache。

              進一步的問題就是,為什么這里不能使用0x20010000之后的區域呢?為探究竟,我們有必要看看STM32F730相關的參考手冊。

              經查證,0x20000000-0x2000FFFF區間是屬于DTCM區,CPU訪問它時不使用D-Cache,即CPU每次訪問DTCM時都是直接訪問,當然DMA是不能使用D-Cache的。這時自然不會產生數據訪問的一致性問題。而0x20010000~0x2001FFFF區域是經AXI接口訪問的,默認情況下,CPU訪問這塊區域是可以使用D-Cache的【前提是使能了D-Cache】。

              d741ada0-a6ed-11ee-8b88-92fbcf53809c.png

              也就是說當我們使用到0x20010000之后的RAM區域時,CPU訪問這塊可以啟用D-Cache。如果DMA也訪問這塊,若不對該區域做合理存儲屬性配置或適當操作就可能發生數據一致性問題。此時我們可以對相應RAM區域做MPU配置,將其配置為Shareable 且NonCacheable屬性?;蛟诖a里適時地使用針對Cache的清除或無效操作。關于MPU如何配置,這里不做展開,有興趣的可以進一步了解。本公眾號里也有多篇相關文章可供參考閱讀。

              第3問:在使用STM32 TIMER事件作為觸發輸出時,那個RESET信號是怎么回事?跟定時器從模式的RESET 模式有什么關系?

              d752ecbe-a6ed-11ee-8b88-92fbcf53809c.png

              答:這里的RESET事件特指通過軟件方式對TIMx_EGR寄存器的UG進行置1操作。該操作可以產生1個觸發信號給到其它外設,比方ADC,DAC或其它TIMER。同時這個RESET操作對當前定時器會產生更新效果或復位效果,具體點說就是產生更新事件,當前計數器發生重裝從新開始計數。

              該RESET操作跟定時器RESET從模式有關系嗎?沒有任何關系,但有相同的現象或效果。即處于RESET從模式的TIMER收到觸發信號時,該從定時器也會產生更新事件、計數器進行重裝計數。至于給到處于RESET從模式的TIMER的觸發信號,可以是源于前級TIMER的更新事件、計數器使能事件、比較事件產生的,也可以是軟件RESET操作產生的。

              第4問:在使用STM32 ADC多通道轉換時,如果不希望一次性轉換完成如何操作?

              答: 看情況。如果你選擇使用的多個ADC通道,平常轉換順序固定,只是不希望基于掃描模式啟動后就一次性轉換完畢,而是分次分批轉換完成。這時我們可以考慮使用ADC的分組轉換模式??梢詤⒖急竟娞栁恼隆禨TM32 ADC間斷轉換模式應用示例》。

              如果你選擇使用的多個ADC通道,使用過程中轉換順序隨機,只是想每次就某個通道做轉換,不同時刻可能使用不同的通道。本質上講,這其實就是單通道轉換,在配置時按單通道配置。需要使用哪個通道時,就針對某個通道配置后再做啟動。這點可以參考本公眾號文章《ADC多通道隨機選擇性轉換應用示例》。

              第5問:在使用STM32片內的Vrefint電壓是ADC的參考基準嗎?它有什么用?

              答:STM32片內的Vrefint電壓不是ADC模塊的參考基準,STM32片內ADC的參考基準可以是Vref,或VDDA【多數時候VDDA跟VDD是接在一起的】,有些系列還可以是VrefBuf電壓。注意不要把Vref、Vrefint、VrefBuf搞混了!事實上經常有人弄混?!驹缙谕瞥龅南盗蠸TM32片內沒有VrefBuf】

              Vrefint電壓值一般固定在1.2v左右,波動很小。各STM32芯片數據手冊有給出參數范圍【下圖來自STM32G0系列數據手冊】: d76d0b12-a6ed-11ee-8b88-92fbcf53809c.png

              至于它有什么用,這要看情況。它只是個備用項、可用項。

              我經常拿它來驗證ADC功能是否正常,因為其電壓可知且比較穩定,無須外邊引線。有些場合,Vrefint作為相對穩定的AD輸入,反過來監測芯片的VDD,此時ADC模塊的參考電壓VDDA跟VDD是接在一起。有時Vrefint或其分壓可用作片內比較器的輸入做其它用途。

              審核編輯:湯梓紅

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

                關注

                30

                文章

                5170

                瀏覽量

                118267
              • cpu
                cpu
                +關注

                關注

                68

                文章

                10527

                瀏覽量

                207499
              • adc
                adc
                +關注

                關注

                95

                文章

                5704

                瀏覽量

                540495
              • STM32
                +關注

                關注

                2247

                文章

                10694

                瀏覽量

                350065
              • 函數
                +關注

                關注

                3

                文章

                4117

                瀏覽量

                61525

              原文標題:STM32應用五問五答

              文章出處:【微信號:stmcu832,微信公眾號:茶話MCU】歡迎添加關注!文章轉載請注明出處。

              收藏 人收藏

                評論

                相關推薦

                STM32硬件設計問答

                STM32硬件設計問答專營STM8/32QQ 940436962http://y-ec.taobao.com/
                發表于 07-10 09:28

                【高手問答】第5期——STM32硬件問答?

                `STM32硬件問答高手問答第5期 小編導讀:本期高手問答(7月28~8月4日)我們請來了@1402609807為大家解答關于STM32硬件
                發表于 07-28 10:36

                【高手問答】第9期——張工帶你玩轉STM32問答

                張工帶你玩轉STM32問答高手問答第9期小編導讀: 一周一期的高手問答,又在周一與大家相見了。本期(8.25~8.31)的主題是與STM32
                發表于 08-25 10:20

                3G相關問答

                3G相關問答錦 什么是3G牌照? 3G牌照是無線通信與國際互聯網等多媒體通信結合的新一代移動通信系統的經營許可權。就好比各行業的營業
                發表于 01-28 11:08 ?371次閱讀

                STM32F10x常見應用解析

                STM32F10x 常見應用解析 大全,感興趣的可以看看。
                發表于 09-06 16:03 ?20次下載

                STM32的USB庫深入解析

                STM32的USB庫深入解析
                發表于 10-15 09:21 ?89次下載
                <b class='flag-5'>STM32</b>的USB庫深入<b class='flag-5'>解析</b>

                美團業務中智能問答技術的相關落地與實踐介紹

                分享嘉賓:美團 江會星?博士 導讀:本文主要介紹在美團業務中智能問答技術的相關落地與實踐。通常問答系統需要提前構建好問答對知識庫,這種方式對高頻問題能處理的很好,但難以解決開放性問題。
                的頭像 發表于 01-07 15:00 ?2303次閱讀

                分享3個和PCB設計相關的疑難問答

                作為PCB設計人,無論是在學習還是工作中,我們總會遇到各種各樣的疑問。有疑問當然要解答!本文和大家分享3個和PCB設計相關的疑難問答,希望對大家的學習和工作有所幫助。
                的頭像 發表于 02-10 15:46 ?847次閱讀

                NVIDIA 知乎精彩問答甄選 | 查看 NVIDIA Omniverse 相關精彩問答

                NVIDIA 帶來知乎精彩問答甄選系列,將為您精選知乎上有關 NVIDIA 產品的精彩問答。 本期為問答甄選第十期 ——? 查看?NVIDIA Omniverse 相關精彩問題 以下三
                的頭像 發表于 08-01 19:55 ?381次閱讀
                NVIDIA 知乎精彩<b class='flag-5'>問答</b>甄選 | 查看 NVIDIA Omniverse <b class='flag-5'>相關</b>精彩<b class='flag-5'>問答</b>

                NVIDIA 知乎精彩問答甄選 | 發掘 NVIDIA 醫療行業相關精彩問答

                NVIDIA 帶來知乎精彩問答甄選系列,將為您精選知乎上有關 NVIDIA 產品的精彩問答。 本期為問答甄選第十一期 ——? 發掘 NVIDIA 醫療行業相關精彩回答 以下三個知乎甄選
                的頭像 發表于 09-06 19:15 ?384次閱讀
                NVIDIA 知乎精彩<b class='flag-5'>問答</b>甄選 | 發掘 NVIDIA 醫療行業<b class='flag-5'>相關</b>精彩<b class='flag-5'>問答</b>

                NVIDIA 知乎精彩問答甄選 | 查看 NVIDIA Jetson 相關精彩問答

                NVIDIA 帶來知乎精彩問答甄選系列,將為您精選知乎上有關 NVIDIA 產品的精彩問答。 本期為問答甄選第十二期 ——? 查看?NVIDIA Jetson?相關精彩問題 以下兩個知
                的頭像 發表于 09-14 17:40 ?376次閱讀

                NVIDIA 知乎精彩問答甄選 | 了解更多關于 NVIDIA BlueField DPU 相關精彩問答

                NVIDIA 帶來知乎精彩問答甄選系列,將為您精選知乎上有關 NVIDIA 產品的精彩問答。 本期為問答甄選第十三期 ——? 分享 NVIDIA BlueField DPU?相關精彩
                的頭像 發表于 09-20 19:10 ?271次閱讀

                NVIDIA 知乎精彩問答甄選 | 分享 NVIDIA 助力醫學研究的相關精彩問答

                NVIDIA 帶來知乎精彩問答甄選系列,將為您精選知乎上有關 NVIDIA 產品的精彩問答。 本期為問答甄選第十七期 ——? 分享 NVIDIA 助力醫學研究的相關精彩
                的頭像 發表于 11-24 19:25 ?319次閱讀
                NVIDIA 知乎精彩<b class='flag-5'>問答</b>甄選 | 分享 NVIDIA 助力醫學研究的<b class='flag-5'>相關</b>精彩<b class='flag-5'>問答</b>

                NVIDIA 知乎精彩問答甄選 | 查看關于 NVIDIA Omniverse 的相關精彩問答

                NVIDIA 帶來知乎精彩問答甄選系列,將為您精選知乎上有關 NVIDIA 產品的精彩問答。 本期為問答甄選第十八期 ——? 查看關于?NVIDIA Omniverse 的相關精彩
                的頭像 發表于 12-01 18:40 ?273次閱讀
                NVIDIA 知乎精彩<b class='flag-5'>問答</b>甄選 | 查看關于 NVIDIA Omniverse 的<b class='flag-5'>相關</b>精彩<b class='flag-5'>問答</b>

                NVIDIA 知乎精彩問答甄選 | 探索 AI 如何推動工作流升級相關精彩問答

                NVIDIA 帶來知乎精彩問答甄選系列,將為您精選知乎上有關 NVIDIA 產品的精彩問答。 本期為問答甄選第十九期 —— 探索 AI 如何推動工作流升級相關精彩
                的頭像 發表于 12-14 16:10 ?208次閱讀
                NVIDIA 知乎精彩<b class='flag-5'>問答</b>甄選 | 探索 AI 如何推動工作流升級<b class='flag-5'>相關</b>精彩<b class='flag-5'>問答</b>
                91在线探花成人网站