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

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

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

請(qǐng)問(wèn)一下STM32管腳重映射支持任意組合嗎?

茶話MCU ? 來(lái)源:茶話MCU ? 2023-08-18 09:04 ? 次閱讀

這里分享我們?cè)?a target="_blank">STM32應(yīng)用中可能遇到的兩個(gè)小話題,尤其對(duì)于STM32應(yīng)用新手。

話題一、STM32管腳重映射支持任意組合嗎?

有人使用STM32F4芯片做開(kāi)發(fā),用到USART1外設(shè)。發(fā)現(xiàn)有4個(gè)GPIO管腳可以支持USART1復(fù)用,即PA9,PA10,PB6,PB7。

b60efcf8-3d5e-11ee-ac96-dac502259ad0.png

他在21論壇發(fā)帖咨詢?cè)诒3諸X或RX功能不變的前提下,這4個(gè)管腳是否基于TX/RX功能自由組合呢?即是否支持下圖中箭頭所指的4種組合來(lái)使用。

b63b7f26-3d5e-11ee-ac96-dac502259ad0.png

在我的印象中,STM32系列中只有最早推出的STM32F1系列的管腳復(fù)用功能稍微弱點(diǎn)外,其它系列在外設(shè)功能端口與GPIO復(fù)用方面表現(xiàn)得更為靈活。比方以USART1的復(fù)用管腳為例,STM32F1系列是以組為單位,僅支持PA9/PA10或PB6/PB7兩種組合。而后推出的其它STM32系列,仍以USART1為例,都支持上面的4種組合。

換言之,后面推出的STM32系列管腳復(fù)用功能往往是以單個(gè)管腳進(jìn)行配置,不再以組為單位進(jìn)行配置鎖定,為開(kāi)發(fā)者自由安排管腳提供方便。具體到開(kāi)篇話題本身,STM32F4系列芯片的USART1是完全支持上面列舉的4種組合的。該發(fā)帖者后來(lái)進(jìn)一步補(bǔ)充說(shuō),經(jīng)過(guò)多個(gè)小時(shí)的驗(yàn)證發(fā)現(xiàn)也的確支持上面的4種使用組合。

其實(shí),關(guān)于這個(gè)問(wèn)題,完全不必要花幾個(gè)小時(shí)來(lái)確認(rèn)。

我們使用CubeMx進(jìn)行配置時(shí)即可快速驗(yàn)證。比如當(dāng)我們選擇開(kāi)啟USART1后,CubeMx會(huì)先給我們安排兩個(gè)可用USART1通信管腳。此時(shí)我們可以按住鍵盤(pán)上的CTRL鍵并保持住,然后鼠標(biāo)左鍵點(diǎn)擊當(dāng)前安排的USART功能腳,并做拽拉動(dòng)作,其它跟當(dāng)前被拽拉腳具有相同功能的管腳就會(huì)閃動(dòng)起來(lái)。然后我們就可以嘗試去做替換,將當(dāng)前功能腳替換為新的管腳。

通過(guò)這種方法,我們不難找出所有可能使用的組合。以STM32F4系列的USART1的復(fù)用管腳為例,基于CubeMx配置就可以直觀地看到4種可使用的組合。見(jiàn)下面幾幅圖。

b660d74e-3d5e-11ee-ac96-dac502259ad0.png

b68e4aee-3d5e-11ee-ac96-dac502259ad0.png

b6aed282-3d5e-11ee-ac96-dac502259ad0.png

b6d155be-3d5e-11ee-ac96-dac502259ad0.png

話題二、STM32F407 讀保護(hù)從leve0設(shè)置leve1程序不再運(yùn)行疑似丟失。

有人在程序調(diào)試階段,通過(guò)用戶代碼修改選項(xiàng)字節(jié)開(kāi)啟讀保護(hù)功能。發(fā)現(xiàn)實(shí)施此操作后,不僅程序停擺不運(yùn)行了,STLINK也連不上開(kāi)發(fā)板,感覺(jué)代碼被擦除一般。

其實(shí),這是個(gè)比較常見(jiàn)的話題。當(dāng)我們通過(guò)用戶代碼開(kāi)啟讀保護(hù)功能后,芯片開(kāi)啟保護(hù)機(jī)制。肯定會(huì)斷開(kāi)調(diào)試器不讓我們繼續(xù)代碼的調(diào)試。試想下,如果都開(kāi)啟讀保護(hù)了還能做程序調(diào)試,那還保護(hù)啥呢?此時(shí)發(fā)生上面提到的現(xiàn)象屬正常。

開(kāi)啟了讀保護(hù)不讓調(diào)試了,可以理解。但我們欲用STLINK連接開(kāi)發(fā)板抹掉讀保護(hù)總可以吧??梢?!

不過(guò),你必須對(duì)開(kāi)發(fā)板做斷電再上電的操作。注意,若只是按復(fù)位鍵還不行。再用SLTINK連接,然后通過(guò)諸如STM32CubeProgrammer之類的工具修改讀保護(hù)設(shè)置。

關(guān)于這點(diǎn),在STM32手冊(cè)里有相應(yīng)的描述,我截圖幾份過(guò)來(lái)參閱,分別是STM32F0、STM32F4和STM32L4系列的,描述上不盡相同,但都有表達(dá)相同的意思。

b709c188-3d5e-11ee-ac96-dac502259ad0.png

OK,今天的分享就到這里。下次再聊!






審核編輯:劉清

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

    關(guān)注

    6037

    文章

    44558

    瀏覽量

    635216
  • 連接器
    +關(guān)注

    關(guān)注

    98

    文章

    14519

    瀏覽量

    136529
  • STM32
    +關(guān)注

    關(guān)注

    2270

    文章

    10900

    瀏覽量

    355981
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1204

    瀏覽量

    52091
  • STM32F4
    +關(guān)注

    關(guān)注

    3

    文章

    194

    瀏覽量

    28056
  • CTR
    CTR
    +關(guān)注

    關(guān)注

    0

    文章

    37

    瀏覽量

    14110
  • USART串口
    +關(guān)注

    關(guān)注

    0

    文章

    32

    瀏覽量

    6822

原文標(biāo)題:STM32管腳重映射支持任意組合嗎?

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32上很多管腳功能可以重新映射

    知道,很多復(fù)用功能的引出腳可以通過(guò)重映射,從不同的I /O管腳引出,即復(fù)用功能的引出腳位是可通過(guò)程序改變的。這功能的直接好處是,PCB電路板的設(shè)計(jì)人員可以在需要的情況,不必把某些信
    發(fā)表于 01-11 10:09

    STM32 端口復(fù)用&重映射(USART Remap)

    3個(gè)功能通常個(gè)口的 復(fù)用+重映射有好多 不止兩個(gè) 這時(shí)候就看你使能哪個(gè)設(shè)備了(哪個(gè)被使能就用哪個(gè)) 開(kāi)復(fù)用 + 使能設(shè)備+ 是否重映射就可以決定這個(gè)io口到底使用哪個(gè)功能跟大家說(shuō)一下
    發(fā)表于 02-13 11:32

    請(qǐng)問(wèn)STM32F1CUBE使用部分重映射怎么操作?

    STM32F103系列的CUBE中怎么樣設(shè)置IO端口重映射,我想要的是把TIM3_CH2從PA7映射到PB5上,哪位大俠幫助一下,小弟不勝感激
    發(fā)表于 11-13 09:09

    請(qǐng)問(wèn)STM32F407管腳重映射圖嗎

    問(wèn)下STM32F407管腳重映射圖誰(shuí)有,ST社區(qū)下載的數(shù)據(jù)手冊(cè)里面提供的管腳映射我很不解,只有AD腳和晶振那些叫有
    發(fā)表于 01-04 09:18

    STM32重映射是什么意思

    STM32重映射(Remap)在外設(shè)的初始化中默認(rèn)為Default重映射函數(shù)復(fù)用功能在外設(shè)的初始化中默認(rèn)為Default在參考手冊(cè)中均有USART1的功能,但是若是想要用PB6與PB7作為
    發(fā)表于 08-10 08:13

    如何在STM32F103上進(jìn)行CAN通信的管腳重映射配置和使用

    CAN通信管腳重映射1. 摘要本篇筆記主要介紹,如何在STM32F103上進(jìn)行CAN通信的管腳重映射配置和使用2. 準(zhǔn)備工作1), IAR
    發(fā)表于 08-19 06:20

    請(qǐng)問(wèn)STM32部分重映射和完全重映射的區(qū)別是什么?

    請(qǐng)問(wèn)STM32部分重映射和完全重映射的區(qū)別是什么?
    發(fā)表于 02-21 06:42

    STM32單片機(jī)端口復(fù)用和端口重映射

    STM32單片機(jī)端口復(fù)用和端口重映射STM32單片機(jī)上有很多I/O口,也有很多的內(nèi)置外設(shè),比如I2C、ADC、DAC、USART等都屬于內(nèi)置外設(shè)。這些內(nèi)置外設(shè)基本都是與I/O口共用管腳
    發(fā)表于 02-22 08:18

    STM32的功能引腳重映射和復(fù)用功能

    STM32的功能引腳重映射和復(fù)用功能
    發(fā)表于 09-29 08:02 ?12次下載

    STM32管腳重映射

    STM32F103管腳重映射總結(jié)
    發(fā)表于 10-24 10:20 ?16次下載

    STM32單片機(jī)的重映射與地址映射的使用方法及步驟

    打開(kāi)重映射時(shí)鐘和USART重映射后的I/O口引腳時(shí)鐘, RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO,ENABLE);
    發(fā)表于 11-12 15:04 ?1.7w次閱讀

    stm32STM32F0系列MCU中斷向量表的重映射

    stm32STM32F0系列MCU中斷向量表的重映射
    發(fā)表于 11-18 16:36 ?13次下載
    【<b class='flag-5'>stm32</b>】<b class='flag-5'>STM32</b>F0系列MCU中斷向量表的<b class='flag-5'>重映射</b>

    STM32 部分重映射和完全重映射

    (Full Remap),那么這兩個(gè)有什么區(qū)別呢?標(biāo)題以TIM3為例根據(jù)圖片可以看到,TIM3的部分重映射和完全重映射對(duì)應(yīng)的引腳是不同的,所以在配置選擇部分重映射和完全重映射的時(shí)候要考
    發(fā)表于 12-27 18:56 ?24次下載
    <b class='flag-5'>STM32</b> 部分<b class='flag-5'>重映射</b>和完全<b class='flag-5'>重映射</b>

    STM32單片機(jī)端口復(fù)用和端口重映射

    STM32單片機(jī)端口復(fù)用和端口重映射STM32單片機(jī)上有很多I/O口,也有很多的內(nèi)置外設(shè),比如I2C、ADC、DAC、USART等都屬于內(nèi)置外設(shè)。這些內(nèi)置外設(shè)基本都是與I/O口共用管腳
    發(fā)表于 12-28 19:23 ?8次下載
    <b class='flag-5'>STM32</b>單片機(jī)端口復(fù)用和端口<b class='flag-5'>重映射</b>

    VITA 1300 像素重映射

    VITA 1300 像素重映射
    發(fā)表于 11-15 19:54 ?0次下載
    VITA 1300 像素<b class='flag-5'>重映射</b>