嵌入式开发—关于PB3,PB4等GPIO不能正常控制的问题

二土电子
嵌入式领域优质创作者
2023-05-16 11:02:12

 之前也是在利用STM32F103ZET6做实验室自动控制设备时遇到这个问题。当时发现PB3,PB4和PA13无法正常使用。后续查了其他博主的博客得到了解决,这里贴一下GPIO初始化之PB3/PB4/PA13/PA14/PA15引脚的复用

 

需要注意的是,博客中提到的PB3,PB4,PA13,PA14和PA15这几个GPIO有三种状态,上电默认开启JTAG和SWJ功能。当设置成GPIO_Remap_SWJ_JTAGDisable后,PB3,PB4和PA15可以正常使用,但是PA13和PA14仍然不可以使用。只有设置成GPIO_Remap_SWJ_Disable时,禁用掉JTAG和SWJ之后,全部引脚才可以正常使用。

 

在GPIO初始化时加上一下代码即可

	// 禁用JTAG
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
	GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE);   // 要先开时钟,再重映射
	// GPIO_Remap_SWJ_NoJTRST   恢复引脚默认功能
	// GPIO_Remap_SWJ_JTAGDisable   禁用JTAG,但是SWJ仍开启,PB3,PB4,PA15可作为正常IO使用
	// GPIO_Remap_SWJ_Disable   直接禁用JTAG和SWJ,无法烧写程序,但是全部JTAG引脚可使用
...全文
552 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

7

社区成员

发帖
与我相关
我的任务
社区描述
分享一些工作学习中遇到的有用的资源,方法或者网站,欢迎大家加入讨论!
微信小程序stm32笔记 个人社区 辽宁省·阜新市
社区管理员
  • 二土电子
  • 亦世凡华、
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧