[APM32F1] APM32F103 PA15 PB3 PB4作普通IO口

[复制链接]
 楼主| Alden 发表于 2024-8-30 11:49 | 显示全部楼层 |阅读模式
本帖最后由 Alden 于 2025-5-16 09:37 编辑

#技术资源#
用APM32F103配置GPIO的时候会出现引脚初始化都一样,但有几个引脚不能正常当普通IO口用。其实原因是这些引脚是调试引脚,默认就是jtag或swd的功能,所以不能直接做普通IO口。
在用户手册中可以看到调试相关的引脚。
4a740d296ffb003cfd7d61c5f90a784.png
可以配置关掉调试引脚功能来释放引脚做普通IO口。
在代码中配置流程需要开费用时钟。
3299d23778457126ea3c1c3f257e7b4.png
GPIO_ConfigPinRemap中的不同参数也就对应对标释放哪些引脚。
7b809b51dbf43dd87442907667d05b2.png

GPIO_NO_REMAP_SWJ就是默认的没释放调试引脚,PA13、PA14、PA15、PB3、PB4引脚都是调试功能,不能做普通IO。
GPIO_REMAP_SWJ_NOJTRST就是只释放PB4做普通IO。
GPIO_REMAP_SWJ_JTAGDISABLE就是释放PA15、PB3、PB4做普通IO,此时烧录仿真只能选SWD模式连PA13、PA14引脚。
GPIO_REMAP_SWJ_DISABLE就是PA13、PA14、PA15、PB3、PB4引脚全部都释放,执行后将无法通过烧录器仿真,烧录需要将烧录器复位接到MCU复位脚上,由烧录器在烧录前将MCU自动复位连接。谨慎使用这个模式。

评论

dct
[url=home.php?mod=space&uid=3338634]@Alden[/url] :接的模块的复位脚。。  发表于 2025-5-16 10:03
[url=home.php?mod=space&uid=2740592]@dct[/url] :可能要先检查硬件看看  发表于 2025-5-16 09:39
dct
我按照配置改了,但是为啥PA15还是用不了/需要注意什么?  发表于 2025-5-16 09:34
[url=home.php?mod=space&uid=3538322]@在下小智[/url] :只能用SWD烧了,也建议把复位脚也接上  发表于 2025-4-14 17:59
为啥我只复用了GPIO_REMAP_SWJ_JTAGDISABLE,结果还是烧录不进去程序了  发表于 2025-4-14 14:52
涡流远见者 发表于 2025-4-19 21:52 | 显示全部楼层
按说明上所说,GPIO_REMAP_SWJ_JTAGDISABLE 只是关闭了JTAG 四线的功能引脚,但保留了SWD的二线功能引脚
星云避风港 发表于 2025-4-20 08:30 | 显示全部楼层
一直调用API来操作,而且也很少复用JTAG引脚。
学习了,谢谢楼主
天体书记 发表于 2025-4-22 16:56 | 显示全部楼层
我们只是做了简单的保护机制,我总觉得jtag接口是复活接口,不能关闭
dct 发表于 2025-5-16 09:35 | 显示全部楼层
我按照配置改了,但是为啥PA15还是用不了/需要注意什么?
和谐智者 发表于 2025-5-16 23:40 | 显示全部楼层
调试口我一般是让出来。
对自己的代码没有信心
永恒的一瞥 发表于 2025-5-20 19:19 | 显示全部楼层
楼主 您这属于直接关闭jtag调试器。
这程序跑起来,如何再烧录程序呀
 楼主| Alden 发表于 2025-5-23 09:40 | 显示全部楼层
永恒的一瞥 发表于 2025-5-20 19:19
楼主 您这属于直接关闭jtag调试器。
这程序跑起来,如何再烧录程序呀

复位脚接到烧录器复位上即可,复位后的短时间烧录脚还是烧录功能。
霜咬回响 发表于 2025-5-27 19:15 | 显示全部楼层
非生产环境下,不使用jtag的引脚。
转瞬回声 发表于 2025-5-28 10:55 | 显示全部楼层
这引脚资源利用率也太高了吧
星云狂想曲 发表于 2025-5-29 16:22 | 显示全部楼层
现在芯片的价格差别也不大。
别这么省了呗
雾里闲逛 发表于 2025-5-30 09:19 | 显示全部楼层
嘿嘿 坚决不使用jtag接口引脚
您需要登录后才可以回帖 登录 | 注册

本版积分规则

49

主题

113

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部

49

主题

113

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部