一、寄存器

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. [文摘20090203]巴菲特-等到知更鸟报春,那春天就快结束了
  2. 用python写的图形计算器
  3. Java解析XML汇总(DOM/SAX/JDOM/DOM4j/XPath)
  4. 机器学习之路:python k近邻回归 预测波士顿房价
  5. MR/hive/shark/sparkSQL
  6. flutter图片预览_Flutter 视频缩略图
  7. php e error,E_ERROR定义与用法汇总
  8. Part 2: Containers
  9. php商城的购物车功能,php实现购物车功能(以大苹果购物网为例)
  10. 计算机网络上机作业,204计算机网络上机大作业.docx
  11. Mysql(二)——简单查询及示例
  12. spark 上游rdd的缓存
  13. 零基础学python电子书-零基础入门学习Python epub高清电子书
  14. 注册键值的根路径无效_mybatis mapper 接口注册流程源码解析
  15. linux 笔记本摄像头,Ubuntu 7.10 下屏蔽笔记本摄像头的方法
  16. 维持两人爱情关系需要慢慢做的事情
  17. ThinkPad F1按键常亮且喇叭无声音
  18. 海思HI3516 MIPI屏幕调试笔记
  19. html ide iOS,用于ios开发的ide是 ios开发的ide有哪些
  20. 数据预处理:标称型特征的编码和缺失值处理

热门文章

  1. TensorFlow 从入门到精通(11)—— DeepDream(上)
  2. 使用v-lazy图片懒加载插件
  3. m3u8视频爬虫下载及合并(二)
  4. 机房监控系统标准和常见故障
  5. c++入门 求圆周长(PTA)
  6. python list遍历删除,对python list 遍历删除的正确方法详解
  7. 目标跟踪算法--Staple: Complementary Learners for Real-Time Tracking
  8. 【IntelliJ IDEA】配置 Run 运行时参数
  9. IOS上的几种注入动态库的方式
  10. 中关村软件园机房建筑参数