调STM32F103VBT6板时,其中用到PA15做为普通输入口。配置为输入下拉模式后,对数据进行采样发现数据一直为高。通过阅读datasheet及网上资料发现此脚为JTAG口调试口。
因此需要对此脚做一下重新映射,重新映射方法如下:
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE);
然后运行OK!
补充说明
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);此句为禁止JTAG口调试,用此语句也可使PA15作为普通IO。当需要使用SWD仿真时,可用此语句。
同时要打开GPIOA的AFIO时钟:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
如果不用SWD或JTAG调试时,可用GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE);。
#define GPIO_Remap_SWJ_NoJTRST ((uint32_t)0x00300100) /*!< Full SWJ Enabled (JTAG-DP + SW-DP) but without JTRST */
#define GPIO_Remap_SWJ_JTAGDisable ((uint32_t)0x00300200) /*!< JTAG-DP Disabled and SW-DP Enabled */
#define GPIO_Remap_SWJ_Disable ((uint32_t)0x00300400) /*!< Full SWJ Disabled (JTAG-DP + SW-DP) */
转载于:https://blog.51cto.com/qjclinux/1947996