STM32单片机释放PB3/PB4/PA15作为普通IO口
来源:互联网 发布:企业模拟经营软件 编辑:程序博客网 时间:2024/05/04 17:37
STM32单片机释放PB3/PB4/PA15作为普通IO口
一次使用STM32F103RCT6单片机用到多个IO口时发现:不管如何配置,PB3,PB4,PA15无法正常控制输出高低电平,而其他IO口正常。其IO口初始化操作如下:
GPIO_InitTypeDef GPIO_Initure; __HAL_RCC_GPIOA_CLK_ENABLE(); //开启GPIOA时钟 __HAL_RCC_GPIOB_CLK_ENABLE(); //开启GPIOB时钟 GPIO_Initure.Pin=GPIO_PIN_15; GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP; //推挽输出 GPIO_Initure.Pull=GPIO_PULLUP; //上拉 GPIO_Initure.Speed=GPIO_SPEED_HIGH; //高速 HAL_GPIO_Init(GPIOA,&GPIO_Initure); GPIO_Initure.Pin=GPIO_PIN_3|GPIO_PIN_4; HAL_GPIO_Init(GPIOB,&GPIO_Initure);
查找相关芯片资料发现,包括这三个引脚在内的PB3,PB4,PA13,PA14,PA15是特殊的IO口,默认用作JTAG/SWD仿真器的调试接口。其中PA13,PA14分别作为SWD调试的SWIO和SWCLK;PB3,PB4,PA13,PA14,PA15共同用于JTAG。
如需使用这些IO口需要禁止相关JTAG/SWD功能。查看HAL库文件,可找到相关函数。
/** * @brief Enable the Serial wire JTAG configuration * @note ENABLE: Full SWJ (JTAG-DP + SW-DP): Reset State * @retval None */#define __HAL_AFIO_REMAP_SWJ_ENABLE() MODIFY_REG(AFIO->MAPR, AFIO_MAPR_SWJ_CFG, AFIO_MAPR_SWJ_CFG_RESET)/** * @brief Enable the Serial wire JTAG configuration * @note NONJTRST: Full SWJ (JTAG-DP + SW-DP) but without NJTRST * @retval None */#define __HAL_AFIO_REMAP_SWJ_NONJTRST() MODIFY_REG(AFIO->MAPR, AFIO_MAPR_SWJ_CFG, AFIO_MAPR_SWJ_CFG_NOJNTRST)/** * @brief Enable the Serial wire JTAG configuration * @note NOJTAG: JTAG-DP Disabled and SW-DP Enabled * @retval None */#define __HAL_AFIO_REMAP_SWJ_NOJTAG() MODIFY_REG(AFIO->MAPR, AFIO_MAPR_SWJ_CFG, AFIO_MAPR_SWJ_CFG_JTAGDISABLE)/** * @brief Disable the Serial wire JTAG configuration * @note DISABLE: JTAG-DP Disabled and SW-DP Disabled * @retval None */#define __HAL_AFIO_REMAP_SWJ_DISABLE() MODIFY_REG(AFIO->MAPR, AFIO_MAPR_SWJ_CFG, AFIO_MAPR_SWJ_CFG_DISABLE)
在初始化IO操作的最后添加语句:
__HAL_AFIO_REMAP_SWJ_NOJTAG();
即可禁止JTAG调试功能,将PB3,PB4,PA15用作普通IO口,而保留PA13,PA14的SWD接口,使单片机仍可下载程序与调试。
阅读全文
0 0
- STM32单片机释放PB3/PB4/PA15作为普通IO口
- stm32 PB3 PB4 PA15引脚作为普通IO口使用指南
- STM32把PC13、PC14、PC15、PB3、PB4、PA15作为普通IO使用
- STM32F103x8B PB3、PB4、PA14、PA15引脚作为普通IO口使用
- STM32 JNTRST JTDI JTDO(PB4 PB3 PA15)引脚用做普通IO方法
- STM32F1系列PB3,PB4,PA13,PA14,PA15用作普通IO口的特殊配置
- STM32——PB4、PB3、PA15 IO不受控问题,JTAG IO
- 关于STM32中PA15引脚作为普通io的使用
- STM32 JTAG SWD (PB3 PB4用作普通IO)及启动模式
- STM32F10x系列的MCU配置PB3和PB4为普通IO口
- STM32F103的PC13、PB3和PB4定义为普通IO口使用
- STM32F10X系列的MCU配置PB3和PB4为普通IO口
- STM32 PB4不能做普通IO解决方法
- 关于STM32 PB3 PB4 如何设置成普通GPIO的配置
- 关于STM32 PB3 PB4 如何设置成普通GPIO的配置
- 关于STM32 PB3 PB4 如何设置成普通GPIO的配置
- STM32将PB3等IO用作普通IO
- GPIO初始化之PB3/PB4/PA13/PA14/PA15引脚的复用
- ssl1236-逃亡准备【dp之多重背包】
- ubuntu 16.10 install 搜狗输入法
- Java遇到的一些问题(一)
- 标注
- Asp.NET Core+ABP框架+IdentityServer4+MySQL+Ext JS之配置IdentityServer
- STM32单片机释放PB3/PB4/PA15作为普通IO口
- Android 源码解析AsyncTask的工作原理
- no matching editors or conversion strategy found
- 洛谷P1198 [JSOI2008]最大数(线段树)
- 【提高组NOIP2008】传纸条
- git笔记(相见恨晚的技术)
- 【EasyUI】EasyUI主页面布局:左侧菜单tree、tabs选项卡、tabs右键菜单
- Base封装
- 实现数据驱动型企业,只需五步!