今天调试飞行器上的发光管
IO口是PB3
可是PB3上电复位的默认功能是JTDO
只有重定义(重映射)后才是IO的作用
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC|RCC_APB2Periph_AFIO, ENABLE); GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_Init(GPIOB, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOC, &GPIO_InitStructure); while (1) { GPIO_ResetBits(GPIOB,GPIO_Pin_3); GPIO_SetBits(GPIOC,GPIO_Pin_13); }
下载后发现,103再也无法被发现了,再也无法下载了
原来GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE);
把调试接口毙掉了
俗称“锁死”
咋办?
把boot脚开机接地就饿能解决了......
boot在哪?
看图
拿上你的导线爆它们的菊吧
爆菊的同时烧写芯片
很快,世界清静了......
咱还是毙掉JTAG吧
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);