stm32 PB3 PB4 PA15引脚作为普通IO口使用指南
2017-03-04 17:02
344 查看
stm32的PB3 PB4 PA15引脚可以在使用SWD仿真和烧录的情况下释放出来,作为普通IO口使用。
初始化代码如下:
在实际测试的时候,发现工程内PB3 PB15无法当做普通IO使用,最后发现解决办法为:
上面这段初始化代码放在所有IO初始化最后就好了。
通过现象调试找到问题原因:
当把PB3 PB4 PA15初始化好之后,如果再次调用GPIOA GPIOB接口的时钟代码的话,会使得PB3 PA15引脚变回JTAG的引脚
即初始化完之后不能再执行如下代码,否则PB3 PA15引脚会变回JTAG的引脚,而无法作为普通IO使用
以上情况经过实际测试!
初始化代码如下:
GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO, ENABLE); GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); GPIO_SetBits(GPIOB,GPIO_Pin_4); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); GPIO_SetBits(GPIOB,GPIO_Pin_3); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_ResetBits(GPIOA,GPIO_Pin_15);
在实际测试的时候,发现工程内PB3 PB15无法当做普通IO使用,最后发现解决办法为:
上面这段初始化代码放在所有IO初始化最后就好了。
通过现象调试找到问题原因:
当把PB3 PB4 PA15初始化好之后,如果再次调用GPIOA GPIOB接口的时钟代码的话,会使得PB3 PA15引脚变回JTAG的引脚
即初始化完之后不能再执行如下代码,否则PB3 PA15引脚会变回JTAG的引脚,而无法作为普通IO使用
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO, ENABLE);
以上情况经过实际测试!
相关文章推荐
- stm32 PB3 PB4 PA15引脚作为普通IO口使用指南
- stm32 PB3 PB4 PA15引脚作为普通IO口使用指南
- 关于STM32中PA15引脚作为普通io的使用
- STM32把PC13、PC14、PC15、PB3、PB4、PA15作为普通IO使用
- STM32F103x8B PB3、PB4、PA14、PA15引脚作为普通IO口使用
- STM32 JNTRST JTDI JTDO(PB4 PB3 PA15)引脚用做普通IO方法
- STM32C8T6 JTAG使用到PB3|PB4|PA13|PA14|PB15端口做普通IO时,需禁止JTAG!
- STM32C8T6 JTAG使用到PB3|PB4|PA13|PA14|PB15端口做普通IO时,需禁止JTAG!
- STM32引脚JTDO、JNTRST与JTDI作为普通IO口使用配置
- stm32将JTAG引脚做普通IO口使用
- STM32 PA15作普通IO用时的配置
- 【STM32】JTAG IO复用 (PB4、PB3、PA15)
- stm32 的PA13,PA14, PA15做普通IO口的问题
- STM32 中JTAG 引脚作为普通IO口设置方法
- STM32F1系列PB3,PB4,PA13,PA14,PA15用作普通IO口的特殊配置
- STM32 中JTAG 引脚作为普通IO口设置方法
- STM32要使用JTMS(PA13)、 JTCK(PA14)作为普通I/O口
- 把STM32的JTAG下载引脚:JTDO、JTDI、JTCK 当成普通IO口进行操作
- STM32 JTAG SWD (PB3 PB4用作普通IO)及启动模式
- stm32的jatg口配置为普通io口使用