STM32学习记录之GPIO篇
来源:互联网 发布:网络21 编辑:程序博客网 时间:2024/05/16 10:22
本篇学习目的:
一、学会对STM32芯片GPIO的基本操作
二、对GPIO的相关函数进行二次封装,以便于后期开发
开发板GPIO原理图如下
由图可知LED接在GPIOC的PC0-PC7
STM的GPIO有如下8中模式
GPIO相关库函数
GPIO模式配置函数:GPIO_Init(GPIO_TypeDef *GPIOx,GPIO_InitTypeDef *GPIO_InitStruct);
第一个参数用来指定GPIO口,取值范围GPIOA—GPIOG
第二个参数用来初始化参数结构体指针,参数结构体定义如下:
typedef struct{ uint16_t GPIO_Pin; //选择要设置的Pin口 GPIOSpeed_TypeDef GPIO_Speed;//设置IO的速率 GPIOMode_TypeDef GPIO_Mode;//设置IO的工作模式}GPIO_InitTypeDef;
GPIO实验例程:
#define LED GPIO_Pin_Allvoid Led_Init(){ GPIO_InitTypeDef GPIO_InitStruct; //声明一个参数结构体变量 SystemInit();//初始化系统时钟 RCC_APB2PerichClockCmd(RCC_APB2Perich_GPIOC,ENABLE); //具体参数配置 GPIO_InitStruct.GPIO_Pin = LED; GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP; //初始化GPIO GPIO_Init(GPIOC,&GPIO_InitStruct);}
GPIO输出函数
GPIO_Write(GPIO_TypeDef* GPIOx,u16 PortVal);
该函数一次操作一组GPIO。
GPIO_SetBits(GPIO_TypeDef* GPIOx, u16 GPIO_Pin);
该函数将相应的位置为1
GPIO_ResetBits(GPIO_TypeDef* GPIOx, u16 GPIO_Pin);
该函数将相应的位置为0
实验例程:
void Led_DisPlay(){ GPIO_SetBits(GPIOC,LED); // close delay(6000000);//自定义延迟函数,约1s GPIO_ResetBits(GPIOC,LED);// open delay(6000000);}
阅读全文
0 0
- STM32学习记录之GPIO篇
- STM32学习系列----STM32之GPIO
- STM32学习笔记 — 之GPIO端口篇
- STM32学习笔记 — 之GPIO端口篇
- STM32学习笔记 — 之GPIO端口篇
- STM32学习笔记 — 之GPIO端口篇
- STM32学习笔记 — 之GPIO端口篇
- STM32学习笔记 — 之GPIO端口篇
- 【记录】STM32 GPIO模式
- 【2015-1-15】STM32学习之GPIO
- STM32学习笔记之GPIO配置问题
- 寒假学习之STM32(1)----GPIO
- stm32学习笔记之GPIO配置
- STM32学习记录之环境配置篇
- STM32学习笔记0.1--GPIO篇
- STM32 GPIO入门学习
- STM32-GPIO学习笔记
- STM32--GPIO学习
- 【Redis】Redis与MySQL数据一致性的思考
- ava基础部分的简单应用
- 汇编语言
- 本体研究综述(笔记版)
- 从首页问答标题到问答详情页
- STM32学习记录之GPIO篇
- error: C1083: 无法打开包括文件: “QApplication”: No such file or directory
- Linux安装 zookeeper-3.4.11
- [矩阵快速幂] Atcoder AGC003 F. Fraction of Fractal
- 【TensorFlow】正则化(过拟合问题)
- 微信小程序如何抽出model层,避免重复造轮子
- 工作学习感悟
- Makefile学习总结
- hdoj-2896病毒侵袭(AC自动机)