STM32 PB2 使用注意

STM32 PB2(BOOT1)使用注意:由于STM32 PB2脚是复用引脚,而且该复用功能是用于启动选择,使用时就要注意 
-------------------------------------------------------------------------
BOOT1  BOOT0        启动模式               说明 
  X             0           用户闪存存储器      用户闪存存储器被选为启动区域 
  0             1           系统存储器             系统存储器被选为启动区域(进入ISP模式) 
  1             1           内嵌SRAM              内嵌SRAM被选为启动区域 
------------------------------------------------------------------------- 
一般来讲我们正常使用是模式1(用户闪存存储器),我相信很多人使用STM32时是直接 焊PCB板上然后再编程,估计使用ISP编程的不在少数,如果这样就需要用到两种启动模式 BOOT1=0 BOOT0=1 要进入ISP编程,那么PB2就必须保持低电平。PB2如果做普通IO用, 那么建议不作为输入用,因为输入状态是外部决定的,除非你有跳线设置,强行拉低 即使做输出用也需要注意,我使用时一般下拉10K~100K电阻,这样只需要改变BOOT0 1根线就可以改变启动模式了。下拉电阻选10K~100K是由PB2接的外设决定,不同的外设 下拉不同,有的100K是拉不低的。 如果你的IO足够用建议PB2还是只用做BOOT1,要用也是用作输出。

### STM32 PB2 引脚功能与配置 STM32 的 GPIO 引脚具有多种可配置模式,允许其用于不同的外设接或通用输入输出。对于 PB2 引脚而言,在标准的 GPIO 配置下,该引脚能够被设置为输入、输出或是复用功能。 #### 输入模式 当 PB2 被设定为输入模式时,可以通过读取寄存器来获取外部设备的状态变化。这通常适用于连接按钮或其他传感器的情况。为了防止浮空状态引起误触发,还可以启用内部上拉或下拉电阻[^1]。 ```c // 设置PB2为输入模式并使能内部上拉电阻 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); ``` #### 输出模式 如果需要通过 PB2 控制其他电路元件的工作,则应将其定义成推挽输出或者开漏输出形式之一。例如用来点亮 LED 或者控制继电器的动作等场景非常普遍。 ```c // 初始化结构体参数 GPIO_InitStruct.Pin = GPIO_PIN_2; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // 推挽输出 GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; // 应用初始化配置至指定端 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); // 切换LED状态 HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_2); ``` #### 复用功能 (Alternate Function) 除了基本的 I/O 功能之外,某些特定型号下的 PB2 还可能关联着额外的功能选项比如定时器通道、USART 线路或者其他专用通信协议等等。具体取决于所使用的芯片版本及其手册中的说明文档[^2]。 需要注意的是,虽然理论上所有的 GPIO 均可用于中断请求,但在实际应用中需遵循一定的规则——即同一编号的不同组别之间不允许重复利用于产生边沿敏感型事件通知;也就是说像 PA0 和 PB0 就不可以共同激活IRQ线程处理程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值