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

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

[复制链接]
haifeng-388081 发布时间:2017-1-5 12:35
先说下发现要使用PA15当作普通IO使用的原因:$ e- q0 B8 J! X! p0 @- A
在我设计的密码锁控制器中使用了PA15引脚,PA15通过三极管控制键盘的LED背光如图 PA15.jpg
7 h4 m& |! h& A4 B4 Y( C0 O在调试时,刚开始一上电LED就亮,因为LED使用了5V电源,而STM32引脚输出为3.3V,以为三极管常导通,归纳为硬件设计的问题。后来要找出原因,所以就查到了原来就因为PA15是个复用引脚。找到原因就简单了,关闭JTAG功能,把PA15当作普通IO口使用就行了。而下载调试程序就要使用SWD功能(平常应该都是用的SWD下载调试)。
$ G) O& G9 G" n8 i" w0 a5 ~7 ?: r& b% x在IO端口初始化时加入如下程序
" v1 r8 ~# R& _0 n& Y: n IO初始化.jpg
) F+ x& l# Y, _初始化中复用端口“RCC_APB2Periph_AFIO”必须使能才可以关闭JTAG,RCC_APB2Periph_GPIOA可以在这儿使能也可以不在这儿使能。
: e9 k, V* O) W1 q! e( s, X- R其中用到的宏定义都在相应的库函数中,这儿整理后如下:+ W" t& M; i: a; b* u  w3 z$ w
JTAG关闭宏定义.jpg * {% Q% e# I/ w. X' N, T& {/ P0 e. n
利用端口宏定义.jpg
5 N8 Y: Q3 i" b" z, h; n5 h) M- t1 ^
+ ?# G. ~9 I6 R" O" d' h/ h做完这些后写下测试程序测试下:6 p+ W, }& t) N- |. U9 x3 }8 o
测试程序.jpg
9 M& h+ |  U; f) g  a这样可以看到IO口可以正常使用了。关于JTAG使用到的其他IO口应该也可以这样当作普通IO口使用。大家可以试下。* y0 d3 F0 ~' d2 V+ z
V70105-121738.mp4_1483590593.gif
& r  f) q5 I4 g6 ~3 L: F6 o" q2 O6 w在这儿随便问下,三极管的B极上拉到3.3V(或去掉外面的这个电阻,使用内部上拉)C极通过LED和电阻接5V电源,这样设计是否合适,大家在驱动LED时都是怎么设计的,欢迎大家一直讨论下。" e9 Z0 ^/ x* o1 F

评分

参与人数 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:318 k# `5 v; U, |8 T2 p4 S
谢谢分享经验。。。。。
+ _/ H: Z2 s0 v2 _
不客气,把自己的经验分享下,让别人少走点弯路。
haifeng-388081 回答时间:2017-1-6 15:48:03
andypanfan 发表于 2017-1-6 09:03
8 _. G; P( B  E1 H4 S# o我原来也遇到过这种情况,走了很多的弯路,还以为是MCU 坏了,换了好几个,:l ...
5 z9 @  e2 e( m+ e
恩,这里是很容易忽略的地方。
haifeng-388081 回答时间:2017-1-6 08:35:44
yanhaijian 发表于 2017-1-5 13:05* ]: n! p3 x3 e. m
这个我当时找了好长时间才找到这个错误的。
. p3 b" O1 u; K6 G) l2 b, ?
这个容易被忽略,我也是长了好久才找到原因的。
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:026 c$ H$ f0 B5 e" {0 I* H9 B
写得很细,支持

& ?4 z1 }$ M' M& J0 u8 e; w谢谢支持
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
4 J' L# Q0 h$ g, h) k3 B( i楼主的LED驱动电路应该没问题

5 _: m% V% h, H' E8 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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版