#GPIO配置的学习
大体和F103系列的配置一致,但也有一些出入。
F407在配置初始化时,多了一些函数:
GPIO_OType 配置输出模式(推挽和复用),非输出模式可以不需要配置
GPIO_PuPd 设置IO口模式(上拉、下拉和浮空)
重要一处:在进行配置时,GPIO_InitTypedef要放在时钟配置前面,,不然会报错!!!
只要知道函数的作用,具体的配置步骤是不变的
以点亮LED为目标
配置部分
`void LED_Init(void)
{
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF,ENABLE);
GPIO_InitTypeDef GPIO_Initstr;
GPIO_Initstr.GPIO_Mode=GPIO_Mode_OUT;
GPIO_Initstr.GPIO_OType=GPIO_OType_PP;
GPIO_Initstr.GPIO_Pin=GPIO_Pin_10|GPIO_Pin_9;
GPIO_Initstr.GPIO_PuPd=GPIO_PuPd_UP;
GPIO_Initstr.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOF,&GPIO_Initstr);
}‘`
主函数部分
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
int main(void)
{
delay_init(168); //初始化延时函数
uart_init(115200);
/**下面是通过直接操作库函数的方式实现IO控制**/
LED_Init();
while(1)
{
GPIO_ResetBits(GPIOF,GPIO_Pin_10);
delay_ms(200);
GPIO_ResetBits(GPIOF,GPIO_Pin_9);
delay_ms(200);
}
}
以上是GPIO输出模式,接下来学习GPIO输入模式
利用按键输入的模式进行学习
按键支持连续按下和单次按下两种模式
GPIO模式的选择需要查看单片机上的原理图进行配置
此处的PB9和PB8配置为下拉输入,而PA0是上拉输入
,判断按键是否按下,我们还需要使用函数 GPIO_ReadInputDataBit 来读取当前GPIO口的状态,进行之后按键按下后的操作
无理论知识,纯操作设置