你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F103关闭JTAG功能当作普通IO口使用

[复制链接]
haifeng-388081 发布时间:2017-1-5 12:35
先说下发现要使用PA15当作普通IO使用的原因:0 _" }# |2 H/ U1 A& ?0 v* U
在我设计的密码锁控制器中使用了PA15引脚,PA15通过三极管控制键盘的LED背光如图 PA15.jpg % c+ [* x% l' h1 W( j' l7 m( k
在调试时,刚开始一上电LED就亮,因为LED使用了5V电源,而STM32引脚输出为3.3V,以为三极管常导通,归纳为硬件设计的问题。后来要找出原因,所以就查到了原来就因为PA15是个复用引脚。找到原因就简单了,关闭JTAG功能,把PA15当作普通IO口使用就行了。而下载调试程序就要使用SWD功能(平常应该都是用的SWD下载调试)。
4 h. j3 c) o1 v* R# [% D在IO端口初始化时加入如下程序
; p& h$ h3 \/ ~4 k  ^0 r, H IO初始化.jpg
2 z' U+ {, M8 L$ M8 N6 V初始化中复用端口“RCC_APB2Periph_AFIO”必须使能才可以关闭JTAG,RCC_APB2Periph_GPIOA可以在这儿使能也可以不在这儿使能。: U$ @% i4 Q; W2 q# C2 k9 D% ~" X
其中用到的宏定义都在相应的库函数中,这儿整理后如下:
$ V2 |4 h  B9 q. w" }% N JTAG关闭宏定义.jpg " K# V- V* V& R) ~9 F5 i
利用端口宏定义.jpg
& R" O0 C. `3 i  I' f# p; g$ [) A3 p8 Z& P. h
做完这些后写下测试程序测试下:
9 s2 R" _* y: b% _* Q& \1 e 测试程序.jpg
) x1 _, X# Q1 O: l, s这样可以看到IO口可以正常使用了。关于JTAG使用到的其他IO口应该也可以这样当作普通IO口使用。大家可以试下。
" k! G: I+ q' `2 S* h( o; Q V70105-121738.mp4_1483590593.gif
/ M4 C0 x, f8 f; r* k5 R在这儿随便问下,三极管的B极上拉到3.3V(或去掉外面的这个电阻,使用内部上拉)C极通过LED和电阻接5V电源,这样设计是否合适,大家在驱动LED时都是怎么设计的,欢迎大家一直讨论下。
0 h2 F, Q$ a. x( M- J2 ?1 G

评分

参与人数 1 ST金币 +1 收起 理由
无薪税绵 + 1 不错,图文并茂。

查看全部评分

赞 收藏 2 评论17 发布时间:2017-1-5 12:35

举报

17个回答
haifeng-388081 回答时间:2017-1-6 08:37:28
ts2000 发表于 2017-1-6 08:31( h& d4 T8 h4 [" d1 j2 V$ F
谢谢分享经验。。。。。

0 J+ k/ c  k0 r7 T- g% A* G不客气,把自己的经验分享下,让别人少走点弯路。
haifeng-388081 回答时间:2017-1-6 15:48:03
andypanfan 发表于 2017-1-6 09:03
0 k8 N" |) Q: h0 w  q: j7 T我原来也遇到过这种情况,走了很多的弯路,还以为是MCU 坏了,换了好几个,:l ...
! X$ _9 Y) O+ M  v5 P5 j
恩,这里是很容易忽略的地方。
haifeng-388081 回答时间:2017-1-6 08:35:44
yanhaijian 发表于 2017-1-5 13:05& C0 z+ D4 x7 p& H, V0 l4 C% |+ a
这个我当时找了好长时间才找到这个错误的。
/ L3 b5 V/ ?: X3 z/ Q7 x
这个容易被忽略,我也是长了好久才找到原因的。
yanhaijian 回答时间:2017-1-5 13:05:04
这个我当时找了好长时间才找到这个错误的。
peter001 回答时间:2017-1-6 00:02:54
写得很细,支持
小小超 回答时间:2017-1-6 08:31:50
谢谢分享经验。。。。。
haifeng-388081 回答时间:2017-1-6 08:36:04
peter001 发表于 2017-1-6 00:02) L1 f8 g9 b5 D! j, f
写得很细,支持

& p! r# @  G; p4 r, n谢谢支持
andypanfan 回答时间:2017-1-6 09:03:30
我原来也遇到过这种情况,走了很多的弯路,还以为是MCU 坏了,换了好几个,
斜阳 回答时间:2017-1-6 09:06:17
楼主的LED驱动电路应该没问题
haifeng-388081 回答时间:2017-1-6 15:46:46
斜阳__ 发表于 2017-1-6 09:06
7 Z& b4 ?7 t$ ~8 ]* o$ W4 M楼主的LED驱动电路应该没问题
" r: E! |3 y5 U0 Y
恩,谢谢!我测试着可以正常使用,就怕以后出现问题。
五哥1 回答时间:2017-1-6 22:57:02
那么多IO脚,非要用PA15?
einy1983 回答时间:2017-12-4 16:33:36
请问楼主,这样改了PA15的定义,调试功能还能用吗?
epochal 回答时间:2017-12-5 06:40:37
谢谢分享!
anywill 回答时间:2017-12-5 06:56:15
谢谢分享,平时没用过jtag
12下一页

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版