STM32F103C8T6的PB3、PB4做普通IO使用注意事项
在使用PB3和PB4做普通GPIO使用时,发现普通的GPIO初始化程序无法正常使用PB3和PB4,后经查阅资料,发现是因为PB3和PB4在默认情况下是做JTAG调试用的。如果需要将其当普通GPIO使用,需要关闭JTAG调试功能;
配置方式入下:
1 /************************************************* 2 函 数 名 称 : LibDriveKeyInit 3 功 能 描 述 : 按键初始化 4 被 调用清单 : 无 5 调 用 清 单 : 6 输 入 参 数 : 无 7 输 出 参 数 : 无 8 返 回 参 数 : 无 9 其 他 : 无 10 *************************************************/ 11 void LibDriveKeyInit(void) 12 { 13 GPIO_InitTypeDef GPIO_InitStruct; 14 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE); 15 16 GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); 17 GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IPU; 18 GPIO_InitStruct.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4; 19 GPIO_Init(GPIOB, &GPIO_InitStruct); 20 21 GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IPU; 22 GPIO_InitStruct.GPIO_Pin = GPIO_Pin_12 | GPIO_Pin_15; 23 GPIO_Init(GPIOA, &GPIO_InitStruct); 24 }
本文来自博客园,作者:伽椰子真可爱,转载请注明原文链接:https://www.cnblogs.com/jiayezi/p/15810737.html