stm32pb3pb4设置为普通io
时间: 2023-04-25 07:00:14 浏览: 404
STM32 PB3/PB4 设置为普通 IO 的方法:
- 打开 STM32CubeMX 软件,选择对应的 MCU 型号。
- 在 Pinout 选项卡中,找到 PB3/PB4 对应的引脚。
- 在引脚属性选项卡中,将 Mode 设置为 "Input" 或 "Output"。
- 点击生成代码并在工程中使用。
- 在代码中设置对应的引脚为输入或输出,可以使用 HAL_GPIO_Init 函数来设置。
相关问题
stm32pb3pb4设置为普通io,库函数
在使用库函数的情况下,将PB3和PB4设置为普通IO可以按照以下步骤进行:
- 首先需要包含相应的头文件:
#include "stm32f10x_gpio.h"
- 初始化GPIO,设置PB3和PB4为输出模式:
GPIO_InitTypeDef GPIO_InitStructure;
/* Enable GPIOB clock */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
/* Configure PB3 and PB4 as output push-pull */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
- 将PB3和PB4设置为普通IO:
/* Disable JTAG and SWD */
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
完整的代码如下:
#include "stm32f10x_gpio.h"
int main(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
/* Enable GPIOB clock */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
/* Configure PB3 and PB4 as output push-pull */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
/* Disable JTAG and SWD */
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
while(1)
{
/* Toggle PB3 and PB4 */
GPIO_WriteBit(GPIOB, GPIO_Pin_3, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOB, GPIO_Pin_3)));
GPIO_WriteBit(GPIOB, GPIO_Pin_4, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOB, GPIO_Pin_4)));
}
}
stm32f103c8t6pb3pb4引脚当普通io口
将STM32F103C8T6的PB3和PB4引脚配置为普通IO口
为了使STM32F103C8T6单片机中的PB3和PB4引脚能够作为普通的输入/输出接口使用,必须先禁用这些引脚默认分配给JTAG调试的功能。具体操作如下:
启用APB2外设时钟
首先,需要启用高级外设总线2 (APB2) 的时钟信号以便访问复用功能寄存器(AFIO),这通过调用RCC_APB2PeriphClockCmd()
函数并传递相应的参数来完成。
// 开启AFIO外设时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
禁用JTAG重映射
接着,执行GPIO引脚重新映射命令以关闭SWJ-DP(JTAG)连接,从而允许PB3(PA13)和PB4(PA14)被当作常规I/O端子工作。此过程涉及调用GPIO_PinRemapConfig()
函数,并指定想要应用的变化——即禁用整个SWJ或仅部分(DP)。
// 禁用JTAG/SWD功能,使得PB3/PB4可以作为普通IO使用
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
上述两步完成后,就可以按照标准流程继续对PB3和PB4进行模式设定、上下拉电阻选择以及初始状态指定了[^2]。
对于后续的具体初始化设置,比如将它们配置成推挽输出或其他类型的GPIO特性,则取决于实际的应用需求和个人偏好,在这里不再赘述具体的细节。
相关推荐














