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 音乐 ...
最新文章
- 服务器技术综述(一)
- 使用Facade模式分析
- 拉力赛 (Standard IO)
- 导体阻抗计算公式_同轴线缆特性阻抗的介绍及测量
- 如果有一天,我们和甲方交换身份…
- FlyWay简单使用
- Oracle client 安装、配置
- pod中mysql配置文件修改_通过configmap更新k8s里的mysql配置文件
- C++ 里利用 std::ios::sync_with_stdio(false) 解决TLE问题
- element-UI响应式(布局原理)讲解 - 贴文篇
- tomcat PermGen space 不足的解决方法
- phpcms 报500错误
- 折线图x轴的日期会超出_折线图技巧丨阈限颜色设置
- ArcView GIS 应用与开发技术(7)- 空间查询
- python统计pdf字数代码_Python基本数据统计.pdf
- 提取gps经纬度信息
- js转换金钱为中文单位元、万元、亿元、万亿
- 服务器win2003系统升级,Windows server 2003 升级 到2008 R2
- SQL中的函数:单值函数、聚合函数
- 基于货币供应量(M2)同比增长率序列的时间序列建模案例
热门文章
- 三菱d700变频器接线图_实例 | 图文详解威纶触摸屏与三菱D700变频器通讯
- 2022年湖南省临床执业医师考试第一单元内医学免疫学模拟题
- Python读取excel文件内容并保存到SqlServer数据库
- 使用v-lazy图片懒加载插件
- dpi与dp的关系_Android中 dp,px,dpi三者之间的关系
- 虚拟机套娃折腾之路:在ESXI的WIN10上跑Android模拟器并直通显卡
- 计算机网络系统交换机,校园计算机网络系统解决方案(含智能化专网)
- 小程序之wepy框架
- 99乘法表c语言关于对齐,九九乘法表怎么准确对齐
- Bootstrap3浅色淡雅响应式窄屏网站