我是STM32新手,最近入手了一个ALIENTEK STM32学习版,就是自带的案例代码是配置寄存器的,还有一些自带的配置文件,我是新手想从库函数着手,
请问一下 查询PA0 的输入状态可以用 Value_0 = GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0);这函数吗?
以下是上下拉输入配置:
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOD,ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13|GPIO_Pin_15|GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_Init(GPIOA,&GPIO_InitStructure);
GPIOA->ODR|=1<<13;
GPIOA->ODR|=1<<15;
现在遇到一个问题 先用Value_0 = GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0);这函数读取PA0的IDR相应位的数据,再对LED
灯清零/置位
当时经过测试 Value_0 的值永远是1,按键按下去,Value_0的值没改变,请问是什么问题?是不是
配置上下拉输入的有问题还是怎么回事?我的时钟配置没问题!
|