STM32的GPIOx_pin设置问题
时间:10-02
整理:3721RD
点击:
[size=14.4444446563721px]我在入门学习STM32,涉及到按键点亮LED灯,如下一段程序,我设置GPIOA的Pin0~7为输出,GPIOB的pin8~15为按键输入,程序烧进去后键盘的GPIOB.pin8~15按键没反应,不过用GPIOB.pin0~7可以用且达到使用目的,难道我设置GPIOA的特定几个脚,后面的GPIOX都只用这几个脚吗?还是我什么部分遗漏了。
[size=14.4444446563721px]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; // 选择所有脚
[size=14.4444446563721px]GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //配置成推挽式输出
[size=14.4444446563721px]GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //输出模式下 I/O输出速度 50M HZ
[size=14.4444446563721px]GPIO_Init(GPIOA, &GPIO_InitStructure); //初PA口始化
[size=14.4444446563721px]
[size=14.4444446563721px] GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15; // 选择所有脚
[size=14.4444446563721px] GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; //配置成推挽式输入
[size=14.4444446563721px] GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //输出模式下 I/O输出速度 50M HZ
[size=14.4444446563721px] GPIO_Init(GPIOB, &GPIO_InitStructure); //初始化PB口
[size=14.4444446563721px]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; // 选择所有脚
[size=14.4444446563721px]GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //配置成推挽式输出
[size=14.4444446563721px]GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //输出模式下 I/O输出速度 50M HZ
[size=14.4444446563721px]GPIO_Init(GPIOA, &GPIO_InitStructure); //初PA口始化
[size=14.4444446563721px]
[size=14.4444446563721px] GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15; // 选择所有脚
[size=14.4444446563721px] GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; //配置成推挽式输入
[size=14.4444446563721px] GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //输出模式下 I/O输出速度 50M HZ
[size=14.4444446563721px] GPIO_Init(GPIOB, &GPIO_InitStructure); //初始化PB口
时钟使能啊啊 啊 啊啊 啊啊啊 啊啊啊啊啊
是这个吗,已经使能了