对GPIO_Init(GPIOx,&GPIO_InitStructure)的理解
来源:互联网 发布:软件构架实践 pdf 编辑:程序博客网 时间:2024/06/06 01:33
void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)
功能描述: 根据GPIO_InitStruct中指定的参数初始化外设GPIOx寄存器
输入参数1: GPIOx:x可以是A,B,C,D或者E,来选择GPIO外设
输入参数2: GPIO_InitStruct:指向结构GPIO_InitTypeDef的指针,包含了外设GPIO的配置信息
由此我们知道第二个参数“&GPIO_InitStructure”包含的是外设GPIO的配置信息,主函数开头我们进行了这样一个私有数据声明:
GPIO_InitTypeDef GPIO_InitStructure;
顺藤摸瓜,我们在头文件“stm32f10x_gpio.h”看到对GPIO_InitTypeDef 的定义:
typedef struct
{
uint32_t GPIO_Pin;
GPIOMode_TypeDef GPIO_Mode;
GPIOSpeed_TypeDef GPIO_Speed;
GPIOOType_TypeDef GPIO_OType;
GPIOPuPd_TypeDef GPIO_PuPd;
}GPIO_InitTypeDef;
在这个之前,我已经对GPIO_InitTypeDef中的各个参数进行了定义,对应的正是void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)输入参数2的描述“指向结构GPIO_InitTypeDef的指针,包含了外设GPIO的配置信息”。
至此,我们便可以理解GPIO_Init初始化寄存器的大概步骤了,即将你事先设定好的参数告诉你要用到的外设(或者说外设对应的寄存器。stm32强大的库函数可以让你摆脱复杂冗余的底层寄存器操作。)很简单有木有,相对51只能进行寄存器底层操作,这种函数库的运用真心感觉强大方便。
- 对GPIO_Init(GPIOx,&GPIO_InitStructure)的理解
- void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)的一些理解
- STM32库函数中GPIO_Init的理解
- STM32库函数中GPIO_Init的理解
- ST官方库函数之GPIO复位函数void GPIO_DeInit(GPIO_TypeDef* GPIOx) 的理解
- 对onreadystatechange属性的理解&n…
- 对 const char* const &a 的理解
- STM32固件库之GPIOx操作理解
- STM32的函数ssert_param(IS_GPIO_ALL_PERIPH(GPIOx));
- STM32中的GPIO_Init()函数的分析
- 多线程 & 异步调用 的理解
- (size_t)&(((s *)0)->m)的理解
- 关于C#中Thread.Join()的一点理解&…
- (size_t)&(((s *)0)->m)的理解 .
- OP AMP - 单电源对运算放大器的影响
- OP AMP - 单电源对运算放大器的影响
- AMP对发布商和电子商务的总体经济影响力
- STM32 GPIOx通用输入输出I/O端口的BSRR寄存器与BRR功能简述
- [李景山php] 深入理解PHP内核[读书笔记]--第二章:用户代码执行--SAPI概述
- 图片
- 一点反思
- caffe常用的cblas函数
- 施恩难忘
- 对GPIO_Init(GPIOx,&GPIO_InitStructure)的理解
- 以防忘记,建立stm32工程的过程
- Linux 下的第一个Shell脚本程序
- mpu6050参数获取
- stm32中的延时函数
- stm32中断学习总结
- Matlab 的reshape函数
- 【转载】32复用时钟AFIO开启情况
- CentOS6.5安装MySQL5.7详细教程