研究生
最后登录1970-1-1
在线时间 小时
注册时间2018-7-14
|
一次试验中,要使用PA15作为普通IO口.后来发现它默认为JTAG接口,要做普通IO口使用,有两种方法
第一种方法:
RCC->APB2ENR |= RCC_APB2ENR_AFIOEN;
AFIO->MAPR &=~ 0X0f00000;
AFIO->MAPR |= AFIO_MAPR_SWJ_CFG_DISABLE;
常量是这样定义的
#define AFIO_MAPR_SWJ_CFG_DISABLE ((uint32_t)0x04000000) /*!< JTAG-DP Disabled and SW-DP Disabled */
第二种方法:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
常量是这样定义的
#define GPIO_Remap_SWJ_Disable ((uint32_t)0x00300400) /*!< Full SWJ Disabled (JTAG-DP + SW-DP) */
两个常量定义说明差不多,我第一次就是把前面的常量用在了第二种方法里面了,结果当然是不成功的.我知道这两种方法都是操作寄存器的,但我确始终没有弄明白,
也不知道它们是怎样工作的,请野火老师不吝指教.
|
|