一、寄存器

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相关推荐

  1. STM32学习——GPIO的操作

    写在前面 1.应项目要求,要迅速熟悉stm32的GPIO.串口以及TIM高级定时器(输出PWM) 2.初步了解stm32学习方法以及编程要领(疯狂地赋值粘贴库函数,学会看库函数的函数介绍以及参数选择, ...

  2. STM32学习--GPIO(寄存器)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.GPIO是什么? 二.引脚 GPIO的输入 输入框图 输入模式 作用 GPIO的输入 输入框图 输入模式 作用 GPIO ...

  3. STM32单片机GPIO学习

    问题咨询及项目源码下载请加群: 群名:IT项目交流群 群号:245022761 STM32学习篇2: GPIO引脚的控制 ============stm32  GPIO======== GPIO 7组 ...

  4. 【STM32学习笔记】#002 GPIO设置练习

    系列文章目录 -[STM32学习笔记]#001 前期准备 文章目录 系列文章目录 前言 一.目标功能 二.CubeMX设置 1 端口设置1(Port Setting) 2 端口设置2(Port Set ...

  5. STM32学习 3:GPIO管脚配置与第一个STM32实验:LED灯闪烁

    STM32学习 3:GPIO管脚配置与第一个STM32实验:LED灯闪烁 1,GPIO管脚简介与配置 1.1GPIO框图 1.2GPIO不同模式 1.3 GPIO寄存器 1.4 GPIO库函数配置 2 ...

  6. STM32学习:按键控制LED

    STM32学习:按键控制LED 文章目录 前言 一.所用知识点复习 1.stm32工作模式(*注意上下拉输入的区别*) 2.按键抖动与常见按键接法 按键抖动: 按键消抖: 常见按键接法: 3.GPIO ...

  7. STM32学习心得十九:电容触摸按键实验及相关代码解读

    记录一下,方便以后翻阅~ 主要内容 1) 电容触摸按键原理: 2)部分实验代码解读. 实验内容 手触摸按键后,LED1灯翻转. 硬件原理图 上图,TPAD与STM_ADC用跳线帽相连,即TPAD与PA ...

  8. STM32学习心得二十一:实时时钟RTC和备份寄存器BKP特征、原理及相关实验代码解读

    记录一下,方便以后翻阅~ 主要内容 1) RTC特征与原理: 2) BKP备份寄存器特征与原理: 3) RTC常用寄存器+库函数介绍: 4) 相关实验代码解读. 实验内容: 因为没有买LCD屏,所以计 ...

  9. 《STM32学习笔记》4——核心功能电路与编程(下)

    接上文,文中的图片,大多数来自视频的截图(来自洋桃电子). 欢迎大家批评指正! STM32学习笔记-专栏 文章目录 一.蜂鸣器驱动 1.蜂鸣器介绍 2.蜂鸣器电路 3.蜂鸣器程序 二. MIDI 音乐 ...

最新文章

  1. 服务器技术综述(一)
  2. 使用Facade模式分析
  3. 拉力赛 (Standard IO)
  4. 导体阻抗计算公式_同轴线缆特性阻抗的介绍及测量
  5. 如果有一天,我们和甲方交换身份…
  6. FlyWay简单使用
  7. Oracle client 安装、配置
  8. pod中mysql配置文件修改_通过configmap更新k8s里的mysql配置文件
  9. C++ 里利用 std::ios::sync_with_stdio(false) 解决TLE问题
  10. element-UI响应式(布局原理)讲解 - 贴文篇
  11. tomcat PermGen space 不足的解决方法
  12. phpcms 报500错误
  13. 折线图x轴的日期会超出_折线图技巧丨阈限颜色设置
  14. ArcView GIS 应用与开发技术(7)- 空间查询
  15. python统计pdf字数代码_Python基本数据统计.pdf
  16. 提取gps经纬度信息
  17. js转换金钱为中文单位元、万元、亿元、万亿
  18. 服务器win2003系统升级,Windows server 2003 升级 到2008 R2
  19. SQL中的函数:单值函数、聚合函数
  20. 基于货币供应量(M2)同比增长率序列的时间序列建模案例

热门文章

  1. 三菱d700变频器接线图_实例 | 图文详解威纶触摸屏与三菱D700变频器通讯
  2. 2022年湖南省临床执业医师考试第一单元内医学免疫学模拟题
  3. Python读取excel文件内容并保存到SqlServer数据库
  4. 使用v-lazy图片懒加载插件
  5. dpi与dp的关系_Android中 dp,px,dpi三者之间的关系
  6. 虚拟机套娃折腾之路:在ESXI的WIN10上跑Android模拟器并直通显卡
  7. 计算机网络系统交换机,校园计算机网络系统解决方案(含智能化专网)
  8. 小程序之wepy框架
  9. 99乘法表c语言关于对齐,九九乘法表怎么准确对齐
  10. Bootstrap3浅色淡雅响应式窄屏网站