netmouse-286983 发表于 2016-9-10 10:50:24

STM32L1系列,如何释放PA15为普通GPIO端口

MCU复位时PA15为JTDI调试端口,直接使用STM32CUBE设定为GPIO代码如下,CUBE的代码也就是按普通GPIO口去配置的。使用这代码调试程序时,可正常输出高低电平,不过程序运行完 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct)时,电源电流大了很多,应该是该引脚未释放JTDI导致,该如何释放JTDI到GPIO?
/*Configure GPIO pin : PA15 */
GPIO_InitStruct.Pin = GPIO_PIN_15;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_VERY_LOW;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);


无薪税绵 发表于 2016-9-19 08:41:01

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

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

zhoupxa 发表于 2016-9-21 08:50:49

shuolang126 发表于 2016-9-20 07:50
能正常输出高低电平,应该是已经不是JTDI口了,你查一下电路上是否上下拉电阻过小或者先断开与其相连的负载 ...

赞同,电流大有其他原因

netmouse-286983 发表于 2016-9-19 08:45:18

不好意思,这是STM32L1系列,不是STM32F系列的产品。

haohao663 发表于 2016-9-19 08:57:07

居然都是JTAG接口功能引脚,那肯定有相关函数可以关闭它的

废鱼 发表于 2016-9-19 10:34:56

将IO口设置为输入试试。

Stm32McuLover 发表于 2016-9-19 14:29:43

默认是调试吧

xmshao 发表于 2016-9-19 15:45:41

你那样配置应该释放了。
至于感觉电流大了 可能是别的原因吧。

huaiqiao 发表于 2016-9-19 23:27:01

以前标准库倒是有个函数,l1的库就不知道了。

shuolang126 发表于 2016-9-20 07:50:06

能正常输出高低电平,应该是已经不是JTDI口了,你查一下电路上是否上下拉电阻过小或者先断开与其相连的负载,就可以查到电流大的原因了!

无薪税绵 发表于 2016-9-21 12:42:20

STM32L1系列还没有用过。

帮不了你,只能帮你加人气了。

anywill 发表于 2016-10-14 07:04:47

MBED最简单
DigitalOut led(PA_15,PullUp);//
DigitalIn led(PA_15,PullUp);//

fishcan11 发表于 2016-10-21 19:26:23

需要关闭jtag使能配置

仙景 发表于 2016-10-21 20:01:03


STM32L1系列还没有用过。

帮不了你,只能帮你加人气了。

ynwscfsfi 发表于 2016-10-22 00:22:30

帮不了你,只能帮你加人气了。
页: [1] 2
查看完整版本: STM32L1系列,如何释放PA15为普通GPIO端口