本文介绍一种当外设连接在下载复位引脚时在不影响下载功能的前提下正常使用外设的一种方法。
在使用STM32的时候可能会遇到这样一种情况:比如你是用的是STM32RBT6这款芯片,你想使用板载的某个外设,当你查看电原理图后发现这个外设连接在PB4,然后你又去查看芯片数据手册发现:
PB4在上电后默认是JNTRST,这是啥意思呢?意思就是PB4上电后并不是普通IO,而是下载复位引脚,PB4的分时复用功能才是普通IO。如果我们要使用PB4为普通IO的话就需要端口复用,那么可能就会影响到下载功能。影响了下载功能就意味着下次再下载代码时需要手动按住RST按键然后下载代码后立即松开RST。
但是还是有办法在不影响下载功能的情况下正常使用外设的:
举个例子,我使用的板子的蜂鸣器连接在PB4,我要正常使用蜂鸣器的话可以通过重映射的方式完全使能jtag但是不让引脚默认复位:
void beep_init()