3、STM32 GPIO 基本操作
2016-11-27 12:01
260 查看
STM32 GPIO 的操作主要包含以下几个步骤 :
1、时钟初始化
时钟初始化包括系统时钟初始化与 GPIO 端口时钟使能。其中初始化系统时钟,有两种方式 :使用SystemInit()函数初始化为 72 MHz。或者根据前面章节讲解的方式自己去配置时钟大小。
使能GPIO端口的时钟, 可以根据数据手册,配置相关寄存器,或者直接使用库函数的方式。
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOF, ENABLE);
2、端口初始化
定义 GPIO 端口结构体 GPIO_InitTypeDef GPIO_InitStruct; 通过该结构体,完成端口各种属性的配置。主要包含 :设置端口Pin脚, Pin 脚模式, 时钟等参数。
3、操作 GPIO 端口
调用GPIO相关的函数来处理GPIO,例如 GPIO_SetBits()。
GPIO 操作LED小灯示例程序 :
#include "stm32f10x.h" #include "stm32f10x_gpio.h" #include "stm32f10x_rcc.h" /* 系统时钟初始化函数 */ void RCC_Config(void) { /* 初始化系统时钟 */ SystemInit(); /* 使能 GPIOF 端口的时钟 */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOF, ENABLE); } /* 端口初始化函数 */ void GPIO_Config(void) { /* 定义GPIO结构体 */ GPIO_InitTypeDef GPIO_InitStruct; GPIO_InitStruct.GPIO_Pin = GPIO_Pin_6; /* 选择第6个管脚 */ GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; /* 设置最高输出频率 */ GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP; /* 设置为推挽式输出 */ /* 配置GPIO_F端口 */ GPIO_Init(GPIOF, &GPIO_InitStruct); } int main(void) { RCC_Config(); /* 初始化时钟 */ GPIO_Config(); /* 初始化端口 */ while(1) { /* 置位 GPIOF_6 管脚 */ GPIO_SetBits(GPIOF, GPIO_Pin_6); delay(2000000); /* 复位 GPIOF_6 管脚 */ GPIO_ResetBits(GPIOF, GPIO_Pin_6); delay(2000000); } return 0; }
源代码下载
相关文章推荐
- STM32寄存器操作方式学习-GPIO
- STM32 学习三 GPIO操作
- STM32(二)之GPIO操作(1)——之输入输出操作
- S3C6410的GPIO基本操作(点亮LED)
- STM32初识GPIO操作(by woody)
- STM32:GPIO基础与对应管脚操作库函数
- stm32 GPIO 操作例程
- stm32笔记:GPIO的的配置和操作(2)引脚输入之查询按键
- stm32笔记:GPIO的的配置和操作(1)推挽输出方式
- stm32—GPIO操作(库函数)
- STM32 常用GPIO操作函数记录
- STM32 GPIO 简单操作函数
- stm32定义GPIO口方向和操作的代码
- 第13章 GPIO-位带操作—零死角玩转STM32-F429系列
- stm32 起步 gpio操作
- STM32学习之:GPIO最简单操作步骤
- STM32之GPIO端口位带操作
- 第13章 GPIO-位带操作—零死角玩转STM32-F429系列
- STM32学习笔记——控制GPIO输出点亮LED灯(直接操作存储器)
- STM32的IO口基本操作