STM32单片机M3和M4的JTAG与SWD引脚的正常使用

对于M3系列

如下图

可以看出,有5个引脚不能直接当作普通IO口使用,而是被调试接口占用,如果需要正常使用这5个IO口,有以下几个步骤:

根据下表

观察得出结论:通过调试SWJ-CFG[2:0]的位可以释放自己需要使用的IO口

该位的寄存器:

调试该寄存器的第24位~26位即可。如图

在关闭相应的接口方式后,即不能再使用这种方式下载程序了,在编译下载时则会出现错误。

一般我们都设置为关闭JTAG-DP,启用SW-DP,这样PA15,PB3,PB4就可以当作正常IO口使用,通过PA13,PA14下载程序。

当然配置之前需要使能AFIO的时钟。

对于M4系列

配置M4系列不用这么麻烦,可以直接设置keil为SWD或JTAG接口模式。

又因为对于M4系列,系统上电后,所有引脚都是AF0复用,如图

 

所以在设置成SW模式的情况下,要想使用PA15,PB3,PB4这些引脚做通用IO,只要不配置复用模式,直接配置成通用输入或通用输出就行,或者配置成其他的AF口(除了AF0的其他口)即可,具体的可以查看数据手册。

而PA13 PA14如果要配置成普通IO,也可以配置成通用输入或通用输出。

注意:PA13 PA14一旦初始化为普通IO, SWD将不再好使用,因为每次板子上电启动会去执行程序,程序里已经配置成了普通IO,要解决该问题,可以采取延迟初始化或者硬件上提供一个判断条件,在什么条件下的时候可以去初始化为普通GPIO。这样就不会导致板子重新启动后无法烧录程序。所以一般不使用这两个引脚。

​​​一般都是通过keil设置成SW模式而不是JTAG模式,因为配置SW模式能直接使用五个引脚中的三个引脚,JTAG只能使用两个。

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值