打印
[STM32F1]

STM32F103 SWD编程端口与普通IO口共用问题

[复制链接]
12502|30
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ST-LINK编程时  遇到一个问题是SWDIO端口 SWCLK端口用做普通IO口  无法控制端口     端口一直有个0.9V 左右的电压输出  拔掉编程口也控制不了    有没人遇到类似情况   是否初始化需要设置什么? 高手有在吗!急!!! 在线等
沙发
芙蓉洞| | 2016-2-3 18:05 | 只看该作者
如果要用作普通IO的话,得先禁掉jtag吧

使用特权

评论回复
板凳
尛舞icc|  楼主 | 2016-2-3 18:37 | 只看该作者
芙蓉洞 发表于 2016-2-3 18:05
如果要用作普通IO的话,得先禁掉jtag吧

怎么禁止?

使用特权

评论回复
地板
laotui| | 2016-2-3 19:07 | 只看该作者
AFIO_MAPR

使用特权

评论回复
5
xmshao| | 2016-2-3 22:34 | 只看该作者
不能直接用,得先做JTAGE配置。释放不用的JTAG口做GPIO.

使用特权

评论回复
6
玄德| | 2016-2-3 23:00 | 只看该作者

调试接口最好专用。


使用特权

评论回复
7
戈卫东| | 2016-2-3 23:11 | 只看该作者
这口占掉了再遇到BUG你就只能哭了。。。。。。

使用特权

评论回复
8
huangqi412| | 2016-2-4 09:51 | 只看该作者
戈卫东 发表于 2016-2-3 23:11
这口占掉了再遇到BUG你就只能哭了。。。。。。

复位**专治不服

使用特权

评论回复
9
LearningASM| | 2016-2-4 10:21 | 只看该作者

然后就把BUG给盖住了。

使用特权

评论回复
10
huangqi412| | 2016-2-4 17:33 | 只看该作者
LearningASM 发表于 2016-2-4 10:21
然后就把BUG给盖住了。

不是  是复位后引脚又可以下载了

使用特权

评论回复
11
尛舞icc|  楼主 | 2016-2-4 20:48 | 只看该作者
玄德 发表于 2016-2-3 23:00
调试接口最好专用。

你的意思是  另外找一个普通IO口?

使用特权

评论回复
12
尛舞icc|  楼主 | 2016-2-4 20:48 | 只看该作者
戈卫东 发表于 2016-2-3 23:11
这口占掉了再遇到BUG你就只能哭了。。。。。。

我现在也找不到解决的办法     用别的下载方式 又没问题

使用特权

评论回复
13
尛舞icc|  楼主 | 2016-2-4 20:49 | 只看该作者
xmshao 发表于 2016-2-3 22:34
不能直接用,得先做JTAGE配置。释放不用的JTAG口做GPIO.

具体怎么配置  能否详细告知   万分感谢

使用特权

评论回复
14
lemonboard| | 2016-2-5 11:01 | 只看该作者
基本上与楼上所说一样,下面为软件示例源代码
建议楼主一定要添加jtag保护功能函数。

/*!< 保护jtag口,当按下PB0时,停机 */
ProtectJtagIO();

/* 失能Jtag口 */
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);

/* Configure PA.13 (JTMS/SWDAT), PA.14 (JTCK/SWCLK) and PA.15 (JTDI) as
   output push-pull */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);

/* Configure PB.03 (JTDO) and PB.04 (JTRST) as output push-pull */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4;
GPIO_Init(GPIOB, &GPIO_InitStructure);

使用特权

评论回复
评论
zhuomuniao110 2016-5-8 22:55 回复TA
必须点赞,太完美了。 
15
yklstudent| | 2016-2-5 13:30 | 只看该作者
lemonboard 发表于 2016-2-5 11:01
基本上与楼上所说一样,下面为软件示例源代码
建议楼主一定要添加jtag保护功能函数。

STM32F0下怎么禁止JTAG口

使用特权

评论回复
16
webkit_| | 2016-2-5 14:51 | 只看该作者
本帖最后由 webkit_ 于 2016-2-5 14:52 编辑

Jtag 禁用了 调试成问题哦  IO口那么多,最好用别的  JTAG的复用功能在Datasheet的GPIO部分C:\Users\Administrator\Desktop\QQ截图20160205144853

QQ截图20160205144853.png (116.66 KB )

QQ截图20160205144853.png

使用特权

评论回复
17
lemonboard| | 2016-2-5 22:55 | 只看该作者
yklstudent 发表于 2016-2-5 13:30
STM32F0下怎么禁止JTAG口

目前stm32f0主要以STcubeMX生成代码为主,在其配置单不选择swd调试即可。

使用特权

评论回复
18
xmshao| | 2016-2-17 10:26 | 只看该作者
如果想少花时间研究手册,尽量使用STM32CUBE工具开发轻松点。

使用特权

评论回复
19
neeringstu| | 2016-5-7 22:19 | 只看该作者
xmshao 发表于 2016-2-17 10:26
如果想少花时间研究手册,尽量使用STM32CUBE工具开发轻松点。

我也想将swd的两个口用作普通的GPIO,不知道该如何设置

使用特权

评论回复
20
Brand2| | 2016-5-8 15:37 | 只看该作者
JTAG的IO是否有复用功能

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

67

主题

230

帖子

2

粉丝