STM32C8 (48管脚)PD0,PD1已经禁止了重映射,为什么还是用不了,一直检测到为低电平,而其他的管脚输出正常。求各位大神指导一下,下面是程序:
void RCC_Configura
tion(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO|RCC_APB2Periph_ADC1|RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOC,ENABLE) ; //打开GPIOA,GPIOB,GPIOD的时钟,ADC时钟。
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_PD01,DISABLE);
AFIO->MAPR=( AFIO->MAPR&~((u32)0x1<<15));//禁用PD01重映射
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);
DBGMCU->CR&=~((u32)1<<5);
AFIO->MAPR=( AFIO->MAPR&~((u32)0x7<<24))|(2<<24);
}
-
还是不行,不过我加了一个上拉电阻后然后 设置GPIO_PinRemapConfig(GPIO_Remap_PD01,ENABLE);
PD1既然可以正常高低电平输出,没搞懂为什么这样,GPIO_PinRemapConfig(GPIO_Remap_PD01,ENABLE)这条语句的设置PD1/0口还是处于重映射的状态吗?。
一周热门 更多>