#define IS_GPIO_MODE(MODE) (((MODE) == GPIO_Mode_AIN) || ((MODE) == GPIO_Mode_IN_FLOATING) || \差芹 ((MODE) == GPIO_Mode_IPD) || ((MODE) == GPIO_Mode_IPU) || \ ((MODE) == GPIO_Mode_Out_OD) || ((MODE) ==GPIO_Mode_Out_PP) || \ ((MODE) == GPIO_Mode_AF_OD) || ((MODE) == GPIO_Mode_AF_PP))
((MODE) == GPIO_Mode_IPD) 输入兆庆樱下拉
((MODE) == GPIO_Mode_IPU) 输族丛入上拉
所以:
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;// 输入下拉
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;// 输入上拉
我猜你是只在软件仿真,没有用仿败JLINK或STLINK这些在线仿真的吧,备姿颤软件没有收到你仿真的对应IO电平变化,所以你观察寄存器只是观察到GPIO的册胡寄存器的值。
需要在pins对应的引脚处打上勾代替实际按键按下。
可以利用寄存器稿拦配置为p0.5下拉输入。32位的单片机,其GPIO口伍首基本上都配有内部上下拉电阻,通过寄存器控制,可以将某个引脚设置为上下拉模式,以STM32单片机为例。STM32单片机的每个GPIO口都可以独立设置为上拉或者下拉输入模式。在将GPIO口设置为输入模式后,只需要将对应端口的PXODR设置为1即配置为上拉输入,将PXODR设置为0即配置为键橘胡下拉输入。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)