stm32点亮LED的有关寄存器配置CRL、CRH、IDR、ODR
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相关推荐
- STM32点亮led的详细步骤
STM32 点亮LED灯的步骤1:先是在点亮LED灯那个引脚使能,相当于修路,比如是PIN5引脚,就要使能对应的GPIO.使能函数是 控制一个固件发挥作用:第一步就是把它对应的总线时钟使能,第二步配置 ...
- stm32点亮LED灯
stm32点亮LED灯 野火烧不尽,春风吹又生,我购买的是野火的指南针开发板,接下来我就以发表动态来跟大家一起学习,也可以让我学习这块开发板更有动力,增加印象. 每一块开发板,第一个例程无一例外就是通 ...
- 【浅析STM32之GPIO寄存器(CRL/CRH)配置 】
浅析STM32之GPIO寄存器(CRL/CRH)配置 一.前言 GPIO的配置可以说是STM单片机的一大特色,通过GPIO的配置我们可以进行多种不同模式的输入和输出,并且进行配置的方式也有多种,一般我 ...
- stm32——点亮LED
1.点亮LED灯的准备工作 需要了解GPIO的基本工作原理,话不多说,先上图 关于详细的功能介绍,请参考普中科技F407详细资料,今天主要到的是GPIO的推挽输出模式 如图 通过软件向寄存器中写入数据 ...
- 使用STM32点亮LED
多学多练 一.题目描述 二.设计思路 三.寄存器实现 01 时钟配置 02 模式设置 03 代码编写 04 创建工程文件 四.HAL库实现 01 安装 STM32CubeMX 02 安装HAL库 03 ...
- stm32点亮led灯。
新手学习stm32 学习32第一个程序就是点亮led灯.本人用的是野火的指南者开发板.先上电路图. 如图所示,为led模块电路图,由图可知,此模块为共阳极.只需将引脚变成低电平即可使led灯亮.此次代 ...
- 配置STM32寄存器控制GPIO点亮LED
STM32点亮LED 寄存器方式 IO简介 1.每个IO可以自由编程,但是IO口寄存器必须按照32位字被访问. 2.每个IO端口都有7个寄存器来控制. CRL [0-7]端口配置寄存器 32位 CR ...
- stm32点亮三个led灯
stm32点亮led灯 stm32点灯原理 建立工程文件 接下来进行硬件连接和代码编写 硬件连接 烧录利用FlyMcu 串口烧录工具 总结 stm32点灯原理 通过设置相应端口的时钟,在配置相应端口寄 ...
- STM32下的LED灯闪烁
文章目录 一.实验原理 1.1.关于STM32 1.2.关于寄存器 二.点亮LED灯 2.1配置时钟 2.2配置输出模式 2.3点亮LED 三.进阶 !流水灯 3.1具体思路 找到端口输出地址 3.2 ...
最新文章
- 求Fibonacci数列的前20项
- 让英文版windows 8支持非Unicode程序的语言方法
- mysql数据库SELECT语句执行步骤
- ABAP OO的八大理由
- Mac OS X必备APP推荐之二
- python实时读plc数据_python snap7读写西门子S系列PLC寄存器的值(PLC的I、Q、M、DB区)...
- Python编写抽奖式随机提问程序
- 查看DB2实际数据存储类型
- C++小白课本练习1
- Thread.sleep(0)的意义
- 在windows上删除linux文件夹,java-如何从Linux删除远程Windows中的文件夹
- 363.矩形区域不超过K的最大数值和
- 正则表达式验证ip是否是内网ip
- 【SequoiaDB 学习笔记】巨杉分布式数据库初接触
- 在 boot 操作过程中的 FIRST_BOOT阶段,安装失败,出现错误
- 小程序如何获取后端的数据
- 天平应什么放置_天平的使用规程
- BUU-Crypto-Alice与Bob
- MAC-将视频转成GIF
- 谷歌语音对接-GoogleAssistant-smart-home