stm32C8 (48管脚)PD0,PD1已经禁止了重映射,为什么还是用不了,一直检测到为低电平

2019-07-14 20:48发布

STM32C8 (48管脚)PD0,PD1已经禁止了重映射,为什么还是用不了,一直检测到为低电平,而其他的管脚输出正常。求各位大神指导一下,下面是程序:
void RCC_Configuration(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);

       

}






PD0PD1.png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
zhinple
1楼-- · 2019-07-15 02:48
chenwei6991627 发表于 2016-5-26 21:00
The pins number 2 and 3 in the VFQFPN36 package, and 5 and 6 in the LQFP48 and LQFP64 packages are configured as
OSC_IN/OSC_OUT after reset, however the functionality of PD0 and PD1 can be remapped by software on these pins. For the LQFP100 package, PD0 and PD1 are available by default, so there is ...

意思就是说PD0和PD1重映射后可以当中普通的IO管脚使用?
zhinple
2楼-- · 2019-07-15 07:59
wangda888 发表于 2016-5-26 23:04
用寄存器配置试试

还是不行,不过我加了一个上拉电阻后然后 设置GPIO_PinRemapConfig(GPIO_Remap_PD01,ENABLE);
PD1既然可以正常高低电平输出,没搞懂为什么这样,GPIO_PinRemapConfig(GPIO_Remap_PD01,ENABLE)这条语句的设置PD1/0口还是处于重映射的状态吗?。
chenwei6991627
3楼-- · 2019-07-15 11:33
 精彩回答 2  元偷偷看……
chenwei6991627
4楼-- · 2019-07-15 13:28
不能作为输入使用
迷糊789
5楼-- · 2019-07-15 15:57
chenwei6991627 发表于 2016-5-27 13:40
不能作为输入使用

可以作为输入使用,验证过了
zj820137793
6楼-- · 2019-07-15 21:29
你最后那句把映射又打开了

一周热门 更多>