求一个STM32读取IO口电平的程序
自己写的程序三种输入模式都配置过,还是不行GPIO_InitTypeDefGPIO_InitStruct;RCC_APB2PeriphClockCmd(RCC_APB2P...
自己写的程序三种输入模式都配置过,还是不行
GPIO_InitTypeDef GPIO_InitStruct;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE);
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_2;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN_FLOATING;
//GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOE, &GPIO_InitStruct);
main函数里的
printf("\r\n%d\r\n",GPIO_ReadInputDataBit (GPIOE,2)); 展开
GPIO_InitTypeDef GPIO_InitStruct;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE);
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_2;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN_FLOATING;
//GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOE, &GPIO_InitStruct);
main函数里的
printf("\r\n%d\r\n",GPIO_ReadInputDataBit (GPIOE,2)); 展开
3个回答
展开全部
不需要上下拉么?你用万用表量量管脚电压是多少,搞不好不是代码问题。
我的代码和你几乎一模一样
GPIO_InitStructure.GPIO_Pin = DI_DETECT_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(DI_CKECK_GPIO, &GPIO_InitStructure);
uint8 status = GPIO_ReadInputDataBit(DIDO_CKECK_GPIO,pin);
:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询