STM32 学习——GPIO
一、寄存器
GPIOx_CRL:配置寄存器
GPIOx_CRH:配置寄存器
GPIOx_IDR:数据寄存器
GPIOx_ODR:数据寄存器
GPIOx_BSRR:置位/复位寄存器
GPIOx_BRR:复位寄存器(16位)
GPIOx_LCKR:锁存寄存器
二、多种模式。
─ 输入浮空
─ 输入上拉
─ 输入下拉
─ 模拟输入
─ 开漏输出
─ 推挽式输出
─ 推挽式复用功能
─ 开漏复用功能
除了多种模式 还有外设使用时GPIO的配置
三、IO口基本结构
四、寄存器描述
GPIOx_CRL:配置寄存器 低8路配置
GPIOx_CRH:配置寄存器 高8路配置
MODEy: 00:输入 01:输出10MHZ 10:输出2MHZ 11:输出50HMZ
输入时:CNFy : 00:模拟输入 01:浮空 10:上拉 11:下拉
输出时:CNFy : 00:推挽 01:开漏 10:复用推挽11:复用开漏
GPIOx_IDR:输入数据寄存器
可以字(16位形式)读出输入端口的状态
GPIOx_ODR:输出数据寄存器
可以字(16位形式)读出输出端口的状态
GPIOx_BSRR:置位/复位寄存器
BR: 1:清零 0:无效 BS:1:置1 0:无效
GPIOx_BRR:复位寄存器(16位)
BR: 0:无效 1:清零
GPIOx_LCKR:锁存寄存器
文档网址:https://download.csdn.net/download/caojinrong1989/15637772
五、程序示例
GPIOA->CRL=0x33333333;//低八位全部配置为输出——推挽
GPIOA->CRH=0x33333333;//高八位全部配置为输出——推挽
GPIOA->ODR=0xffff;//全部输出为1:
GPIOA->CRL=0x88888888;//低八位全部配置为输入——上拉
GPIOA->CRH=0x88888888;//高八位全部配置为输入——上拉
GPIOA->CRL=0x00000000;//低八位全部配置为输入——模拟
GPIOA->CRH=0x00000000;//高八位全部配置为输入——模拟
int main(void)
{ GPIOA->CRL=0x88888888;//低八位全部配置为输入——上拉GPIOA->CRH=0x33333333;//高八位全部配置为输出——推挽while(1){if(GPIOA->IDR&0x0001==0x0001) GPIOA->ODR=0xff00;//如何第一位为1,高8位全部输出1else GPIOA->ODR=0x0000;}
}
int main(void)
{ GPIOA->CRL=0x88888888;//低八位全部配置为输入——上拉GPIOA->CRH=0x33333333;;//高八位全部配置为输出——推挽while(1){if(GPIOA->IDR&0x0001==0x0001) GPIOA->BSRR=0x0800;//第11位置1else GPIOA->BRR=0x0800;//第11位清0}
}
STM32 学习——GPIO相关推荐
- STM32学习——GPIO的操作
写在前面 1.应项目要求,要迅速熟悉stm32的GPIO.串口以及TIM高级定时器(输出PWM) 2.初步了解stm32学习方法以及编程要领(疯狂地赋值粘贴库函数,学会看库函数的函数介绍以及参数选择, ...
- STM32学习--GPIO(寄存器)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.GPIO是什么? 二.引脚 GPIO的输入 输入框图 输入模式 作用 GPIO的输入 输入框图 输入模式 作用 GPIO ...
- STM32单片机GPIO学习
问题咨询及项目源码下载请加群: 群名:IT项目交流群 群号:245022761 STM32学习篇2: GPIO引脚的控制 ============stm32 GPIO======== GPIO 7组 ...
- 【STM32学习笔记】#002 GPIO设置练习
系列文章目录 -[STM32学习笔记]#001 前期准备 文章目录 系列文章目录 前言 一.目标功能 二.CubeMX设置 1 端口设置1(Port Setting) 2 端口设置2(Port Set ...
- STM32学习 3:GPIO管脚配置与第一个STM32实验:LED灯闪烁
STM32学习 3:GPIO管脚配置与第一个STM32实验:LED灯闪烁 1,GPIO管脚简介与配置 1.1GPIO框图 1.2GPIO不同模式 1.3 GPIO寄存器 1.4 GPIO库函数配置 2 ...
- STM32学习:按键控制LED
STM32学习:按键控制LED 文章目录 前言 一.所用知识点复习 1.stm32工作模式(*注意上下拉输入的区别*) 2.按键抖动与常见按键接法 按键抖动: 按键消抖: 常见按键接法: 3.GPIO ...
- STM32学习心得十九:电容触摸按键实验及相关代码解读
记录一下,方便以后翻阅~ 主要内容 1) 电容触摸按键原理: 2)部分实验代码解读. 实验内容 手触摸按键后,LED1灯翻转. 硬件原理图 上图,TPAD与STM_ADC用跳线帽相连,即TPAD与PA ...
- STM32学习心得二十一:实时时钟RTC和备份寄存器BKP特征、原理及相关实验代码解读
记录一下,方便以后翻阅~ 主要内容 1) RTC特征与原理: 2) BKP备份寄存器特征与原理: 3) RTC常用寄存器+库函数介绍: 4) 相关实验代码解读. 实验内容: 因为没有买LCD屏,所以计 ...
- 《STM32学习笔记》4——核心功能电路与编程(下)
接上文,文中的图片,大多数来自视频的截图(来自洋桃电子). 欢迎大家批评指正! STM32学习笔记-专栏 文章目录 一.蜂鸣器驱动 1.蜂鸣器介绍 2.蜂鸣器电路 3.蜂鸣器程序 二. MIDI 音乐 ...
最新文章
- [文摘20090203]巴菲特-等到知更鸟报春,那春天就快结束了
- 用python写的图形计算器
- Java解析XML汇总(DOM/SAX/JDOM/DOM4j/XPath)
- 机器学习之路:python k近邻回归 预测波士顿房价
- MR/hive/shark/sparkSQL
- flutter图片预览_Flutter 视频缩略图
- php e error,E_ERROR定义与用法汇总
- Part 2: Containers
- php商城的购物车功能,php实现购物车功能(以大苹果购物网为例)
- 计算机网络上机作业,204计算机网络上机大作业.docx
- Mysql(二)——简单查询及示例
- spark 上游rdd的缓存
- 零基础学python电子书-零基础入门学习Python epub高清电子书
- 注册键值的根路径无效_mybatis mapper 接口注册流程源码解析
- linux 笔记本摄像头,Ubuntu 7.10 下屏蔽笔记本摄像头的方法
- 维持两人爱情关系需要慢慢做的事情
- ThinkPad F1按键常亮且喇叭无声音
- 海思HI3516 MIPI屏幕调试笔记
- html ide iOS,用于ios开发的ide是 ios开发的ide有哪些
- 数据预处理:标称型特征的编码和缺失值处理