1、先了解io口
32的io口可以由软件配置寄存器为8种模式:

1、输入浮空   5、开漏输出
2、输入上拉   6、推挽输出
3、输入下拉   7、推挽式复用功能
4、模拟输入   8、开漏复用功能

单io口寄存器必须按32位字被访问

32 的每个 io端口 都有 7 个寄存器控制:

两个32位 端口配置 寄存器-- CRL和CRH
两个32位 数据 寄存器-- IDR和ODR
一个32位 置位/复位 寄存器-- BSRR
一个16位 复位 寄存器-- BRR
一个32位 锁存 寄存器-- LCKR

常用的4个寄存器-- CRL、CRH、IDR、ODR

2、来看CRL和CEH:
CRL 和 CRH 控制着每个 IO 口的模式及输出速率

io口配置表:

输出模式配置:

端口低配置寄存器 CRL 的描述:

此寄存器的复位值:0x4444 4444
CRL 控制着那几个IO端口(A–G)的低 8 位端口的模式,
例如:A0—A7由CRL控制,A8—A15由CRH控制
每个IO口占用CRL的4个位,高两位为CNFy[1:0],低两位为MODE

下面有几个配置模式常用的值:

-  0X0 表示模拟输入模式(ADC 用)
-  0X3 表示推挽输出模式(做输出口用,50M 速率)
-  0X8 表示上/下拉输入模式(做输入口用)
-  0XB 表示复用输出(使用 IO 口的第二功能,50M 速率)

举例:将A端口的第11位设置为上拉输入,12位设置为推挽输出
11位和12位属于高8位,由CRH控制,然后一个引脚占4位 11=1000 12=1110 根据上表来配置的

代码的写法:

GPIOC->CRH &= 0XFFF00FFF;  //清除原来的设置
GPIOC->CRH |= 0X00038000;   //配置11输入  12输出
GPIOC->ODR = 1<<11;  //11上拉

3、下面到 IDR 寄存器
IDR 是一个端口输入 数据寄存器,只用了低 16 位。该寄存器为 只读 寄存器,并且只能以 16 位的形式读出

4、ODR 是一个端口输出数据寄存器
也只用了低 16 位。该寄存器为可 读写,从该寄存器读出来的数据可以用于判断当前 IO 口的输出状态。而向该寄存器写数据,则可以控制某个 IO 口的输出电平。该寄存器的各位描述如下图所示

配置好这几个寄存器,就可以让32的IO口来控制LED灯了

stm32点亮LED的有关寄存器配置CRL、CRH、IDR、ODR相关推荐

  1. STM32点亮led的详细步骤

    STM32 点亮LED灯的步骤1:先是在点亮LED灯那个引脚使能,相当于修路,比如是PIN5引脚,就要使能对应的GPIO.使能函数是 控制一个固件发挥作用:第一步就是把它对应的总线时钟使能,第二步配置 ...

  2. stm32点亮LED灯

    stm32点亮LED灯 野火烧不尽,春风吹又生,我购买的是野火的指南针开发板,接下来我就以发表动态来跟大家一起学习,也可以让我学习这块开发板更有动力,增加印象. 每一块开发板,第一个例程无一例外就是通 ...

  3. 【浅析STM32之GPIO寄存器(CRL/CRH)配置 】

    浅析STM32之GPIO寄存器(CRL/CRH)配置 一.前言 GPIO的配置可以说是STM单片机的一大特色,通过GPIO的配置我们可以进行多种不同模式的输入和输出,并且进行配置的方式也有多种,一般我 ...

  4. stm32——点亮LED

    1.点亮LED灯的准备工作 需要了解GPIO的基本工作原理,话不多说,先上图 关于详细的功能介绍,请参考普中科技F407详细资料,今天主要到的是GPIO的推挽输出模式 如图 通过软件向寄存器中写入数据 ...

  5. 使用STM32点亮LED

    多学多练 一.题目描述 二.设计思路 三.寄存器实现 01 时钟配置 02 模式设置 03 代码编写 04 创建工程文件 四.HAL库实现 01 安装 STM32CubeMX 02 安装HAL库 03 ...

  6. stm32点亮led灯。

    新手学习stm32 学习32第一个程序就是点亮led灯.本人用的是野火的指南者开发板.先上电路图. 如图所示,为led模块电路图,由图可知,此模块为共阳极.只需将引脚变成低电平即可使led灯亮.此次代 ...

  7. 配置STM32寄存器控制GPIO点亮LED

    STM32点亮LED 寄存器方式 IO简介 1.每个IO可以自由编程,但是IO口寄存器必须按照32位字被访问. 2.每个IO端口都有7个寄存器来控制. CRL [0-7]端口配置寄存器  32位 CR ...

  8. stm32点亮三个led灯

    stm32点亮led灯 stm32点灯原理 建立工程文件 接下来进行硬件连接和代码编写 硬件连接 烧录利用FlyMcu 串口烧录工具 总结 stm32点灯原理 通过设置相应端口的时钟,在配置相应端口寄 ...

  9. STM32下的LED灯闪烁

    文章目录 一.实验原理 1.1.关于STM32 1.2.关于寄存器 二.点亮LED灯 2.1配置时钟 2.2配置输出模式 2.3点亮LED 三.进阶 !流水灯 3.1具体思路 找到端口输出地址 3.2 ...

最新文章

  1. 求Fibonacci数列的前20项
  2. 让英文版windows 8支持非Unicode程序的语言方法
  3. mysql数据库SELECT语句执行步骤
  4. ABAP OO的八大理由
  5. Mac OS X必备APP推荐之二
  6. python实时读plc数据_python snap7读写西门子S系列PLC寄存器的值(PLC的I、Q、M、DB区)...
  7. Python编写抽奖式随机提问程序
  8. 查看DB2实际数据存储类型
  9. C++小白课本练习1
  10. Thread.sleep(0)的意义
  11. 在windows上删除linux文件夹,java-如何从Linux删除远程Windows中的文件夹
  12. 363.矩形区域不超过K的最大数值和
  13. 正则表达式验证ip是否是内网ip
  14. 【SequoiaDB 学习笔记】巨杉分布式数据库初接触
  15. 在 boot 操作过程中的 FIRST_BOOT阶段,安装失败,出现错误
  16. 小程序如何获取后端的数据
  17. 天平应什么放置_天平的使用规程
  18. BUU-Crypto-Alice与Bob
  19. MAC-将视频转成GIF
  20. 谷歌语音对接-GoogleAssistant-smart-home

热门文章

  1. la force Comicsonair
  2. 越来越多动物正在灭绝,“AI+动物”能否改变这一局面?
  3. 时分复用共享和空分复用共享的介绍
  4. LeetCode : 502. IPO 分析与解答
  5. swagger easyExcel导出Excel文件打不开,文件损坏
  6. Groovy(Java笨狗)系列---断言
  7. 综合工具-DesignCompiler学习教程
  8. 微医网爬虫(一) java实现
  9. PS制作三原色叠加效果教程
  10. TCP协议发送SKB时ip_summed成员的设置