STM32 JTAG端口作為普通I/O口使用的方法
有時我們?yōu)榱顺浞掷肕CU I/O口的資源,會把這些端口設(shè)置為普通I/O口。具體方法如下:
本文引用地址:http://m.butianyuan.cn/article/201611/320435.htmRCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
//開啟AFIO時鐘
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()中開啟AFIO時鐘
借用正點(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; //開啟輔助時鐘
AFIO->MAPR&=0XF8FFFFFF; //清除MAPR的[26:24]
AFIO->MAPR|=temp; //設(shè)置jtag模式
}
評論