新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32 JTAG端口作為普通I/O口使用的方法

STM32 JTAG端口作為普通I/O口使用的方法

作者: 時(shí)間:2016-11-23 來(lái)源:網(wǎng)絡(luò) 收藏
STM32F10x系列的MCU復(fù)位后,PA13/14/15 & PB3/4默認(rèn)配置為JTAG功能。

有時(shí)我們?yōu)榱顺浞掷肕CU I/O口的資源,會(huì)把這些端口設(shè)置為普通I/O口。具體方法如下:

本文引用地址:http://butianyuan.cn/article/201611/320435.htm

RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);

//開(kāi)啟AFIO時(shí)鐘
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
// 改變指定管腳的映射 GPIO_Remap_SWJ_Disable SWJ 完全禁用(JTAG+SW-DP)
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);
// 改變指定管腳的映射 GPIO_Remap_SWJ_JTAGDisable ,JTAG-DP 禁用 + SW-DP 使能

注意:不要忘記在RCC_Configuration()中開(kāi)啟AFIO時(shí)鐘

借用正點(diǎn)原子的寄存器操作:

//JTAG模式設(shè)置,用于設(shè)置JTAG的模式
//mode:jtag,swd模式設(shè)置;00,全使能;01,使能SWD;10,全關(guān)閉;
//CHECK OK
//100818
void JTAG_Set(u8 mode)
{
u32 temp;
temp=mode;
temp<<=25;
RCC->APB2ENR|=1<<0; //開(kāi)啟輔助時(shí)鐘
AFIO->MAPR&=0XF8FFFFFF; //清除MAPR的[26:24]
AFIO->MAPR|=temp; //設(shè)置jtag模式
}


關(guān)鍵詞: STM32JTAG端口普通IO

評(píng)論


技術(shù)專區(qū)

關(guān)閉