|
设置了GPIOD GPIO_Pin_12为上拉输入,
配置前已经使能了时钟:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOE,ENABLE);
/**************************PD口配置***********************************************/
GPIO_SetBits(GPIOD,GPIO_Pin_13); /*启动时,LED left点亮 */
/*PD端口配置--输出部分*/
GPIO_InitStructure.GPIO_Pin = (GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_13);
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOD,&GPIO_InitStructure);
/*PD端口配置--输入部分*/
GPIO_InitStructure.GPIO_Pin = (GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12); GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(GPIOD,&GPIO_InitStructure);
//测试代码
temp=GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_12);
仿真时能看到配置已经成功,此时GPIO_Pin_12引脚是接地的,但是GPIOD->IDR的相应位没有改变。不知道我是不是有什么地方没有考虑到?
GPIOD->IDR
|
|