码迷,mamicode.com
首页 > 其他好文 > 详细

JNTRST和JTDO当做普通IO使用

时间:2016-07-15 23:48:41      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

今天调程序,按正常的IO口配置,发现PB3、PB4并不能按照预定的设置置1或置0。

上网查询后,原因如下:

STM32默认启动时PB4、PB3、PA15三个引脚不是普通IO,而是JTAG的复用功能,分别为JNTRST、JTDI、JTDO。

当我们试用SWD接口调试仿真时,这三个引脚可以用作普通IO。

具体做法就是禁用JTAG功能。只需使用以下语句即可。

#define GPIO_Remap_SWJ_JTAGDisable  ((uint32_t)0x00300200)  /*!< JTAG-DP Disabled and SW-DP Enabled */

GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);      /*使能SWD 禁用JTAG*/

同时,还需要在初始化之前打开AFIO时钟:

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO, ENABLE); 

 

AFIO相关文章:AFIO时钟何时开启

JNTRST和JTDO当做普通IO使用

标签:

原文地址:http://www.cnblogs.com/eryueniao/p/5674587.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!