一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

STM32應(yīng)用相關(guān)問答解析

茶話MCU ? 來源:茶話MCU ? 作者:茶話MCU ? 2024-01-02 09:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

第1問:我目前使用STM32G0B1,代碼里有設(shè)計(jì)BOOT代碼,想在跳轉(zhuǎn)前清理各類使用過的外設(shè)寄存器。請(qǐng)問STM32有沒有復(fù)位所有外設(shè)寄存器的函數(shù)?

答:其實(shí),每個(gè)STM32系列都有相關(guān)寄存器和應(yīng)用函數(shù)用來針對(duì)指定外設(shè)或掛在指定總線上的外設(shè)進(jìn)行批量復(fù)位,即令其回歸到初始復(fù)位狀態(tài)。以STM32G0系列為例,在STM32HAL庫里就有類似下面的各種實(shí)現(xiàn)函數(shù)。

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

關(guān)于這個(gè)話題可以參考本公眾號(hào)另外一篇文章《話說STM32外設(shè)復(fù)位》,那里有更多詳細(xì)解讀,此處就不再贅述。

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

如果SRAM的緩沖區(qū)設(shè)置到0x20000000-0x2000FFFF之間的時(shí)候,就一切正常。請(qǐng)問這是什么原因?

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

進(jìn)一步的問題就是,為什么這里不能使用0x20010000之后的區(qū)域呢?為探究竟,我們有必要看看STM32F730相關(guān)的參考手冊(cè)。

經(jīng)查證,0x20000000-0x2000FFFF區(qū)間是屬于DTCM區(qū),CPU訪問它時(shí)不使用D-Cache,即CPU每次訪問DTCM時(shí)都是直接訪問,當(dāng)然DMA是不能使用D-Cache的。這時(shí)自然不會(huì)產(chǎn)生數(shù)據(jù)訪問的一致性問題。而0x20010000~0x2001FFFF區(qū)域是經(jīng)AXI接口訪問的,默認(rèn)情況下,CPU訪問這塊區(qū)域是可以使用D-Cache的【前提是使能了D-Cache】。

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

也就是說當(dāng)我們使用到0x20010000之后的RAM區(qū)域時(shí),CPU訪問這塊可以啟用D-Cache。如果DMA也訪問這塊,若不對(duì)該區(qū)域做合理存儲(chǔ)屬性配置或適當(dāng)操作就可能發(fā)生數(shù)據(jù)一致性問題。此時(shí)我們可以對(duì)相應(yīng)RAM區(qū)域做MPU配置,將其配置為Shareable 且NonCacheable屬性。或在代碼里適時(shí)地使用針對(duì)Cache的清除或無效操作。關(guān)于MPU如何配置,這里不做展開,有興趣的可以進(jìn)一步了解。本公眾號(hào)里也有多篇相關(guān)文章可供參考閱讀。

第3問:在使用STM32 TIMER事件作為觸發(fā)輸出時(shí),那個(gè)RESET信號(hào)是怎么回事?跟定時(shí)器從模式的RESET 模式有什么關(guān)系?

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

答:這里的RESET事件特指通過軟件方式對(duì)TIMx_EGR寄存器的UG進(jìn)行置1操作。該操作可以產(chǎn)生1個(gè)觸發(fā)信號(hào)給到其它外設(shè),比方ADC,DAC或其它TIMER。同時(shí)這個(gè)RESET操作對(duì)當(dāng)前定時(shí)器會(huì)產(chǎn)生更新效果或復(fù)位效果,具體點(diǎn)說就是產(chǎn)生更新事件,當(dāng)前計(jì)數(shù)器發(fā)生重裝從新開始計(jì)數(shù)。

該RESET操作跟定時(shí)器RESET從模式有關(guān)系嗎?沒有任何關(guān)系,但有相同的現(xiàn)象或效果。即處于RESET從模式的TIMER收到觸發(fā)信號(hào)時(shí),該從定時(shí)器也會(huì)產(chǎn)生更新事件、計(jì)數(shù)器進(jìn)行重裝計(jì)數(shù)。至于給到處于RESET從模式的TIMER的觸發(fā)信號(hào),可以是源于前級(jí)TIMER的更新事件、計(jì)數(shù)器使能事件、比較事件產(chǎn)生的,也可以是軟件RESET操作產(chǎn)生的。

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

答: 看情況。如果你選擇使用的多個(gè)ADC通道,平常轉(zhuǎn)換順序固定,只是不希望基于掃描模式啟動(dòng)后就一次性轉(zhuǎn)換完畢,而是分次分批轉(zhuǎn)換完成。這時(shí)我們可以考慮使用ADC的分組轉(zhuǎn)換模式。可以參考本公眾號(hào)文章《STM32 ADC間斷轉(zhuǎn)換模式應(yīng)用示例》。

如果你選擇使用的多個(gè)ADC通道,使用過程中轉(zhuǎn)換順序隨機(jī),只是想每次就某個(gè)通道做轉(zhuǎn)換,不同時(shí)刻可能使用不同的通道。本質(zhì)上講,這其實(shí)就是單通道轉(zhuǎn)換,在配置時(shí)按單通道配置。需要使用哪個(gè)通道時(shí),就針對(duì)某個(gè)通道配置后再做啟動(dòng)。這點(diǎn)可以參考本公眾號(hào)文章《ADC多通道隨機(jī)選擇性轉(zhuǎn)換應(yīng)用示例》。

第5問:在使用STM32片內(nèi)的Vrefint電壓是ADC的參考基準(zhǔn)嗎?它有什么用?

答:STM32片內(nèi)的Vrefint電壓不是ADC模塊的參考基準(zhǔn),STM32片內(nèi)ADC的參考基準(zhǔn)可以是Vref,或VDDA【多數(shù)時(shí)候VDDA跟VDD是接在一起的】,有些系列還可以是VrefBuf電壓。注意不要把Vref、Vrefint、VrefBuf搞混了!事實(shí)上經(jīng)常有人弄混。【早期推出的系列STM32片內(nèi)沒有VrefBuf】

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

至于它有什么用,這要看情況。它只是個(gè)備用項(xiàng)、可用項(xiàng)。

我經(jīng)常拿它來驗(yàn)證ADC功能是否正常,因?yàn)槠潆妷嚎芍冶容^穩(wěn)定,無須外邊引線。有些場(chǎng)合,Vrefint作為相對(duì)穩(wěn)定的AD輸入,反過來監(jiān)測(cè)芯片的VDD,此時(shí)ADC模塊的參考電壓VDDA跟VDD是接在一起。有時(shí)Vrefint或其分壓可用作片內(nèi)比較器的輸入做其它用途。

審核編輯:湯梓紅

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

    關(guān)注

    31

    文章

    5434

    瀏覽量

    124563
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11080

    瀏覽量

    217137
  • adc
    adc
    +關(guān)注

    關(guān)注

    99

    文章

    6709

    瀏覽量

    549274
  • STM32
    +關(guān)注

    關(guān)注

    2293

    文章

    11032

    瀏覽量

    365108
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4381

    瀏覽量

    64918

原文標(biāo)題:STM32應(yīng)用五問五答

文章出處:【微信號(hào):stmcu832,微信公眾號(hào):茶話MCU】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    STM32硬件設(shè)計(jì)問答

    STM32硬件設(shè)計(jì)問答專營STM8/32QQ 940436962http://y-ec.taobao.com/
    發(fā)表于 07-10 09:28

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

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

    高手問答匯往期回顧

    ——STM32問答********** 問答精華6、Elecfans論壇高手問答第6期—— PCB設(shè)計(jì)*************問答精華7、
    發(fā)表于 08-19 10:22

    【高手問答】第9期——張工帶你玩轉(zhuǎn)STM32問答

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

    3G相關(guān)問答

    3G相關(guān)問答錦 什么是3G牌照? 3G牌照是無線通信與國際互聯(lián)網(wǎng)等多媒體通信結(jié)合的新一代移動(dòng)通信系統(tǒng)的經(jīng)營許可權(quán)。就好比各行業(yè)的營業(yè)
    發(fā)表于 01-28 11:08 ?457次閱讀

    STM32F10x常見應(yīng)用解析

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

    STM32的USB庫深入解析

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

    分享3個(gè)和PCB設(shè)計(jì)相關(guān)的疑難問答

    作為PCB設(shè)計(jì)人,無論是在學(xué)習(xí)還是工作中,我們總會(huì)遇到各種各樣的疑問。有疑問當(dāng)然要解答!本文和大家分享3個(gè)和PCB設(shè)計(jì)相關(guān)的疑難問答,希望對(duì)大家的學(xué)習(xí)和工作有所幫助。
    的頭像 發(fā)表于 02-10 15:46 ?1290次閱讀

    NVIDIA 知乎精彩問答甄選 | 查看 NVIDIA Omniverse 相關(guān)精彩問答

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

    NVIDIA 知乎精彩問答甄選 | 發(fā)掘 NVIDIA 醫(yī)療行業(yè)相關(guān)精彩問答

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

    NVIDIA 知乎精彩問答甄選 | 查看 NVIDIA Jetson 相關(guān)精彩問答

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

    NVIDIA 知乎精彩問答甄選 | 了解更多關(guān)于 NVIDIA BlueField DPU 相關(guān)精彩問答

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

    NVIDIA 知乎精彩問答甄選 | 分享 NVIDIA 助力醫(yī)學(xué)研究的相關(guān)精彩問答

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

    NVIDIA 知乎精彩問答甄選 | 查看關(guān)于 NVIDIA Omniverse 的相關(guān)精彩問答

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

    NVIDIA 知乎精彩問答甄選 | 探索 AI 如何推動(dòng)工作流升級(jí)相關(guān)精彩問答

    NVIDIA 帶來知乎精彩問答甄選系列,將為您精選知乎上有關(guān) NVIDIA 產(chǎn)品的精彩問答。 本期為問答甄選第十九期 —— 探索 AI 如何推動(dòng)工作流升級(jí)相關(guān)精彩
    的頭像 發(fā)表于 12-14 16:10 ?582次閱讀
    NVIDIA 知乎精彩<b class='flag-5'>問答</b>甄選 | 探索 AI 如何推動(dòng)工作流升級(jí)<b class='flag-5'>相關(guān)</b>精彩<b class='flag-5'>問答</b>