由於STM32的引腳功能較多,在為了方便硬件的使用,常會使用復用,重映射的功能,這里主要提及的是SWD和JTAG端口的引腳對應出現的問題。為了使得TIM2能夠重映射到PA15和PB3,所以得對TIM2進行重映射,但是這樣是不夠的,因為下載調試端口SWD默認就占用了該引腳,所以重映射無效,因此必須先啟動時鍾
void Relay_GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd( RCC_APB2Periph_AFIO, ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
AFIO->MAPR = 0x02000000;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;
/*ÉèÖÃÒý½ÅģʽΪͨÓÃÍÆÍìÊä³ö*/
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
/*ÉèÖÃÒý½ÅËÙÂÊΪ50MHz */
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
/*µ÷Óÿ⺯Êý£¬³õʼ»¯GPIO*/
GPIO_Init(GPIOA, &GPIO_InitStructure);
//GPIO_SetBits(GPIOA, GPIO_Pin_15);
}
出現的問題是:
JLink info:
DLL: V6.10i, compiled Oct 25 2016 19:31:51
Firmware: J-Link ARM-OB STM32 compiled Aug 22 2012 19:52:04
Hardware: V7.00
S/N : 20090928
Feature(s) : RDI,FlashDL,FlashBP,JFlash,GDBFull
JLink Info: STM32 (connect): Can not attach to CPU. Trying connect under reset.
JLink Info: STM32 (connect): Can not attach to CPU. Trying connect under reset.
***JLink Error: STM32: Connecting to CPU via connect under reset failed.
Error: Flash Download failed - Target DLL has been cancelled
0 。先斷電 按住復位 上電
1、按着板子上面的復位鍵不放,若沒有按鍵,就用夾子短路復位電容,這樣單片機將停止程序的運行;我的是工程板,RST端口接地就行了。
2. 這時候點擊Keil的下載,下方的“Build Output”窗口便會開始滾動,一會之后會提示出錯。直接關閉它,放開復位鍵。
3. 如果方法2 不行,就是彈出錯誤窗口時,點NO,然后再運行一秒,馬上放開復位鍵,程序這時一般可以正常下載了,如果不行, 測試多幾次