初级会员

- 积分
- 95
- 金钱
- 95
- 注册时间
- 2013-6-1
- 在线时间
- 37 小时
|
9金钱
原子哥, 各位大侠,请帮帮忙,我因做IO口输出实验将SWD/JTAG引脚设置为IO口导致后来无法下载,(正点原子开发板 Mini STM32 V2.0 ) 源程序中将PA13,PA14,PA15, PB4,PB3 设置为推挽输出模式;
当时程序下载后,用示波器观察各IO口方波输出正常,但是刚刚再来下载程序时,却下载不进了,显示“超时,无法连接”
PA13同时又是JTMS/SWDIO, PA14口同时又是JTCK/SWCLK, 我在源程序中将这两个设置为IO口输出模式,现在下不进程序了,怎么办呢,请帮帮忙,谢谢!
#include "delay.h"
#include "sys.h"
#define LED0 PAout(8) // PA8
#define LED1 PDout(2) // PD2
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO|RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOD, ENABLE); //??PA,PD????
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; //LED0-->PA.8 ????
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //????
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO????50MHz
GPIO_Init(GPIOA, &GPIO_InitStructure); //?????????GPIOA.8
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_Init(GPIOD, &GPIO_InitStructure);
}
int main(void)
{
delay_init();
LED_Init();
while(1)
{
GPIO_Write(GPIOA,0xffff);
GPIO_Write(GPIOB,0xffff);
GPIO_Write(GPIOC,0xffff);
GPIO_Write(GPIOD,0xffff);
delay_us(100);
GPIO_Write(GPIOA,0);
GPIO_Write(GPIOB,0);
GPIO_Write(GPIOC,0);
GPIO_Write(GPIOD,0);
delay_us(100);
}
}
|
-
-
下载界面
最佳答案
查看完整内容[请看2#楼]
你用串口下载,应该是使用PA9/PA10端口,跟JTAG/SWD无关的,
你这种情况要么是STM32被锁死,要么芯片出问题了,
你可以将STM32引导到Bootloader启动或SRAM启动,
然后使用J-Link下载,不行再使用J-Link擦除芯片
|