0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

寄存器是什么?怎么操作寄存器点亮LED灯?

冬至子 来源:纷纭杂谈 作者:CY_CHEN 2023-07-21 16:59 次阅读

首先,寄存器是什么?

寄存器,是集成威廉希尔官方网站 中非常重要的一种存储单元,通常由触发器组成。在集成威廉希尔官方网站 设计中,寄存器可分为威廉希尔官方网站 内部使用的寄存器和充当内外部接口的寄存器这两类。内部寄存器不能被外部威廉希尔官方网站 或软件访问,只是为内部威廉希尔官方网站 的实现存储功能或满足威廉希尔官方网站 的时序要求。而接口寄存器可以同时被内部威廉希尔官方网站 和外部威廉希尔官方网站 或软件访问,CPU中的寄存器就是其中一种,作为软硬件的接口,为广泛的通用编程用户所熟知。

今天在昨天建好的工程基础上,简单介绍下怎么操作寄存器点亮LED灯。

新建两个文件文件,分别命名为led.h和led.c并添加到工程项目中。

图片

图片

图片

进行操作的板子中LED1和LED2分别对应PF9和PF10,想控制LED,就要先初始化对应的端口。要初始化就要配置相应的寄存器。配置寄存器需要一个STM32F4xx的参考手册,我比较菜,只能看中文文档,看得懂英文的可以直接用英文版,毕竟英文版的是第一手资料

图片

图片

以第一个GPIOx_MODER端口模式寄存器为例,要操作的端口分别为9、10,对应18、20位。从威廉希尔官方网站 图可以知道只要控制输出的高低电平就可以实现LED灯的亮灭。所以这里选择通用输出模式10。

图片

在输出类型中中,输出使能,推挽模式时双 MOS 管以方式工作,输出数据寄存器GPIOx_ODR 可控制 I/O输出高低电平。开漏模式时,只有 N-MOS 管工作,输出数据寄存器可控制 I/O输出高阻态或低电平。所以输出类型应选推挽输出。

图片

图片

端口的输出速度是端口支持高低电平切换的最高频率,控制LED灯可以随便设置。

图片

端口用于输入时,端口的上/下拉模式可以控制端口的默认状态。但现在端口用于输出,端口受 ODR寄存器影响,ODR寄存器对应端口位初始初始化后默认值为 0,端口输出低电平,所以这时我们配置无上/下拉模式。

图片

图片

在输出模式时,操作BSRR和ODR寄存器即可控制端口的电平。这里用ODR寄存器控制。输入为0时,LED灯亮;输入为1时,LED灯灭。

图片

图片

这时,GPIO端口的寄存器已经配置完成,但是还是点不亮灯。这是为什么捏?

STM32为了降低功耗,每个外设都对应一个时钟,这些时钟的初始状态都是关闭的,如果外设想要工作,必须打开相应的时钟。所有外设的时钟由一个专门的外设来管理,叫 RCC。所以最后还要通过RCC_AHB1ENR开启时钟。

图片

图片

主程序

图片

LED源文件

图片

LED头文件

图片

编译文件,将程序烧入开发板,LED灯亮,实验成功。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led灯
    +关注

    关注

    22

    文章

    1592

    浏览量

    107974
  • 寄存器
    +关注

    关注

    31

    文章

    5342

    浏览量

    120297
  • MOS管
    +关注

    关注

    108

    文章

    2412

    浏览量

    66794
  • STM32
    +关注

    关注

    2270

    文章

    10897

    浏览量

    355862
  • 触发器
    +关注

    关注

    14

    文章

    2000

    浏览量

    61140
收藏 人收藏

    评论

    相关推荐

    寄存器点亮led

    本篇文章介绍了STM32的基本知识,以及寄存器编程,映射等有关知识,最后实例为用寄存器点亮led
    发表于 08-24 06:57

    如何操作寄存器

    学习单片机实际上就是学习如何操作寄存器。51单片机使用sfr来定义具有特殊功能的寄存器。如:sfr P1 = 0x90;如果你想使用P1口的第1位来点亮
    发表于 11-23 09:01

    寄存器,寄存器是什么意思

    寄存器,寄存器是什么意思 寄存器定义  寄存器是中央处理内的组成部分。寄存器是有限存贮容量
    发表于 03-08 14:26 2.2w次阅读

    数据寄存器,数据寄存器是什么意思

    数据寄存器,数据寄存器是什么意思 数据寄存器数据寄存器包括累加AX、基址寄存器BX、计数
    发表于 03-08 14:38 1.3w次阅读

    寄存器与移位寄存器

    寄存器与移位寄存器:介绍寄存器原理和移位寄存器的原理及实现。
    发表于 05-20 11:47 0次下载

    使用寄存器点亮LED

    stm32是我们会寄存器点亮LED
    发表于 12-01 15:30 0次下载

    寄存器操作方法_对寄存器操作的通用方法总结

    本文主要详解寄存器操作方法以及对寄存器操作的通用方法总结,具体的跟随小编来了解一下。
    的头像 发表于 05-22 15:53 2.3w次阅读

    如何使用寄存器点亮LED

    本文档的主要内容详细介绍的是如何使用寄存器点亮LED
    发表于 04-15 17:00 10次下载
    如何使用<b class='flag-5'>寄存器</b><b class='flag-5'>点亮</b><b class='flag-5'>LED</b><b class='flag-5'>灯</b>

    STM8 寄存器点亮LED

    STM8 寄存器点亮LED库函数:方便,但效率低,调用文件多寄存器:高效,芯片资源最大化运用,但繁琐//使用寄存器方式控制最小系统板上 PB
    发表于 12-05 12:36 3次下载
    STM8 <b class='flag-5'>寄存器</b><b class='flag-5'>点亮</b><b class='flag-5'>LED</b>

    2021年10月21日 STM32F103寄存器方式点亮LED流水灯

    某些功能的时候,就要操作某个寄存器。可以把寄存器类比为,有特殊功能的地方,既然是个地方当然就有地址了,所以,可以把寄存器想象为特殊的地址。二、点灯
    发表于 12-07 09:51 7次下载
    2021年10月21日 STM32F103<b class='flag-5'>寄存器</b>方式<b class='flag-5'>点亮</b><b class='flag-5'>LED</b>流水灯

    STM32寄存器点灯

    配置寄存器使STM32最小系统板上的LED点亮根据原理图,要使D2点亮,需要将PC13拉低,分为以下步骤:使能GPIO的时钟配置GPIO1
    发表于 12-08 17:21 3次下载
    STM32<b class='flag-5'>寄存器</b>点灯

    STM32F03寄存器方式点亮LED流水灯

    STM32F03寄存器方式点亮LED流水灯文章目录STM32F03寄存器方式点亮LED流水灯一、
    发表于 01-13 14:47 9次下载
    STM32F03<b class='flag-5'>寄存器</b>方式<b class='flag-5'>点亮</b><b class='flag-5'>LED</b>流水灯

    STM32的寄存器操作

    STM32的寄存器操作在使用STM32单片机编程时一般都用ST给的库函数编程,库函数编程的底层就是对单片机寄存器操作,库函数就是一系列寄存器
    发表于 01-13 15:43 19次下载
    STM32的<b class='flag-5'>寄存器</b><b class='flag-5'>操作</b>

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

    STM32点亮LED 寄存器方式IO简介1、每个IO可以自由编程,但是IO口寄存器必须按照32位字被访问。2、每个IO端口都有7个寄存器来控
    发表于 01-13 16:15 3次下载
    配置STM32<b class='flag-5'>寄存器</b>控制GPIO<b class='flag-5'>点亮</b><b class='flag-5'>LED</b>

    RAL寄存器模型操作指南

    寄存器模型操作,指的是通过寄存器模型对RTL中寄存器进行读写访问,或者同步寄存器模型与RTL中寄存器
    的头像 发表于 07-12 09:37 1078次阅读
    RAL<b class='flag-5'>寄存器</b>模型<b class='flag-5'>操作</b>指南