STM32F4——GPIO基本知识
GPIO基本认识
STM32F4共7组I/O,每组I/O有16个I/O口。
每组IO的通过10个32位寄存器控制,分别控制I/O的配置、功能和数据等内容。
其中部分寄存器32位全部使用,每两位控制一个I/O口,部分寄存器16-31位保留,只有0-15位起作用,一位控制一个I/O口。
GPIO初始化
初始化步骤:
使能时钟,在头文件stm32f4xx_rcc.h中找到相应时钟
初始化I/O,运用到stm32f4xx_gpio.h中GPIO_Init()函数
I/O口置初值
GPIO控制方式
库函数方式
eg:
GPIO_SetBits() //对应IO输出1
GPIO_ResetBits() //对应IO输出0
位带操作方式
宏定义IO口,操作某个IO
eg:
#define LED0 PAout(9) //输出
#define KEY0 PEin(4) //输入
MDK注意事项
开发环境配置
头文件路径设置
源文件包含到分组中
实验程序设计
整体设计
将LED,BEEP,KEY各部件的相关程序分别存放在不同目录的源文件下,实现不同部件文件的模块化管理。并在相应的头文件内加以声明,方便在主函数程序中调用。
模块结构图:
LED模块
硬件连接
软件设计
头文件led.h
作用:声明相关函数等内容
程序源码:
#include "sys.h"
#include "stm32f4xx.h"
#ifndef __LED_H
#define __LED_H
void LED_Init(void);//LED初始化函数声明
//LED0,LED1口宏定义
#define LED0 PFout(9)