首页 > 其他 > 详细

JNTRST和JTDO当做普通IO使用

时间:2016-07-15 23:47:25      阅读:591      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!