全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 处理器/DSP >

请问一下STM32管脚重映射支持任意组合吗?

时间:2023-08-18 09:04

人气:

作者:admin

标签: USART串口  GPIO  STM32F4  连接器 

导读:这里分享我们在STM32应用中可能遇到的两个小话题,尤其对于STM32应用新手。...

这里分享我们在STM32应用中可能遇到的两个小话题,尤其对于STM32应用新手。

话题一、STM32管脚重映射支持任意组合吗?

有人使用STM32F4芯片做开发,用到USART1外设。发现有4个GPIO管脚可以支持USART1复用,即PA9,PA10,PB6,PB7。

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

他在21论坛发帖咨询在保持TX或RX功能不变的前提下,这4个管脚是否基于TX/RX功能自由组合呢?即是否支持下图中箭头所指的4种组合来使用。

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

在我的印象中,STM32系列中只有最早推出的STM32F1系列的管脚复用功能稍微弱点外,其它系列在外设功能端口与GPIO复用方面表现得更为灵活。比方以USART1的复用管脚为例,STM32F1系列是以组为单位,仅支持PA9/PA10或PB6/PB7两种组合。而后推出的其它STM32系列,仍以USART1为例,都支持上面的4种组合。

换言之,后面推出的STM32系列管脚复用功能往往是以单个管脚进行配置,不再以组为单位进行配置锁定,为开发者自由安排管脚提供方便。具体到开篇话题本身,STM32F4系列芯片的USART1是完全支持上面列举的4种组合的。该发帖者后来进一步补充说,经过多个小时的验证发现也的确支持上面的4种使用组合。

其实,关于这个问题,完全不必要花几个小时来确认。

我们使用CubeMx进行配置时即可快速验证。比如当我们选择开启USART1后,CubeMx会先给我们安排两个可用USART1通信管脚。此时我们可以按住键盘上的CTRL键并保持住,然后鼠标左键点击当前安排的USART功能脚,并做拽拉动作,其它跟当前被拽拉脚具有相同功能的管脚就会闪动起来。然后我们就可以尝试去做替换,将当前功能脚替换为新的管脚。

通过这种方法,我们不难找出所有可能使用的组合。以STM32F4系列的USART1的复用管脚为例,基于CubeMx配置就可以直观地看到4种可使用的组合。见下面几幅图。

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 读保护从leve0设置leve1程序不再运行疑似丢失。

有人在程序调试阶段,通过用户代码修改选项字节开启读保护功能。发现实施此操作后,不仅程序停摆不运行了,STLINK也连不上开发板,感觉代码被擦除一般。

其实,这是个比较常见的话题。当我们通过用户代码开启读保护功能后,芯片开启保护机制。肯定会断开调试器不让我们继续代码的调试。试想下,如果都开启读保护了还能做程序调试,那还保护啥呢?此时发生上面提到的现象属正常。

开启了读保护不让调试了,可以理解。但我们欲用STLINK连接开发板抹掉读保护总可以吧。可以!

不过,你必须对开发板做断电再上电的操作。注意,若只是按复位键还不行。再用SLTINK连接,然后通过诸如STM32CubeProgrammer之类的工具修改读保护设置。

关于这点,在STM32手册里有相应的描述,我截图几份过来参阅,分别是STM32F0、STM32F4和STM32L4系列的,描述上不尽相同,但都有表达相同的意思。

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

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






审核编辑:刘清

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信