STM32之GPIO口
来源:互联网 发布:如何用手机淘宝装修 编辑:程序博客网 时间:2024/05/13 16:27
(1)声明一个结构体 GPIO_InitTypeDef GPIO_InitStructure;
这个结构体中包括GPIO_Pin 、GPIO_Mode、GPIO_Speed 。
(2)端口使能: RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOD, ENABLE);
调用上述函数,函数参数第一个是你要使能端口,第二个是ENABLE,就是使能。如果其中用到几个端口,在第一个参数中
用或运算“|”连接,就可以同时声明几个端口。
(3) GPIO_InitStructure.GPIO_Pin 端口配置,就是你要用哪个IO口
GPIO_InitStructure.GPIO_Mode 模式设置,表明IO口的功能是什么,在STM32中IO口有8种模式
GPIO_InitStructure.GPIO_Speed IO口速度设置,在STM32中IO口有3中速度
注: IO口的八种模式:1、输入浮空 2、输入上拉 3、输入下拉 4、模拟输入 5、开漏输出 6、推挽输出 7、推挽式复用功能 8、开漏复用功能
IO口的三种速度:10MHZ、2MHZ、50MHZ
(4)根据设定参数初始化GPIO口 GPIO_Init(GPIOA, &GPIO_InitStructure);
5、IO的高低电平操作
GPIO_SetBits 寄存器:BSRR
GPIO_ResetBits 寄存器:BRR
GPIO_WriteBit 寄存器:BSRR BRR
GPIO_Write 寄存器:ODR
这两个调用的寄存器不同,功能也不同。区别在于
void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); 置高
void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); 置低
void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal);
void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);
- STM32之GPIO口
- STM32之GPIO笔记
- STM32之GPIO
- STM32之GPIO&AFIO
- STM32之GPIO
- STM32之GPIO
- STM32之GPIO输入输出
- stm32之GPIO
- STM32之GPIO
- STM32 入门之 GPIO
- 【读书笔记】STM32之GPIO
- stm32之GPIO
- STM32之GPIO
- STM32 之GPIO
- STM32之GPIO结构
- STM32 入门之 GPIO
- STM32之GPIO
- STM32之GPIO原理
- java基础-new String(byte[] b, int n, int m)
- 图像质量评估指标 SSIM / PSNR / MSE
- BZOJ4421
- 1-进程和线程的由来和区别
- Aladdin and the Flying Carpet LightOJ
- STM32之GPIO口
- git学习——Github关联(2)
- python多进程
- caffe实现多标签输入(multilabel、multitask)
- github fork源仓库后保持同步
- ABCNN代码注释
- 使用DataGrip连接SQL Server 2017数据库
- 2-Java中如何创建进程
- 面部特征点定位概述及最近研究进展