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

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

3天内不再提示

同样是用STM32点亮一颗LED灯,寄存器和库有什么区别?

学益得智能硬件 来源:学益得智能硬件 2024-03-14 16:52 次阅读

同样是用STM32点亮一颗LED灯,寄存器和库有什么区别?

我们先尝试用寄存器点亮。

首先在创建工程的时候就比较麻烦,新建工程,起个名字,选择一个合适的芯片,新建main.c,然后随手来一个main函数。

32的工程和51还不太一样,需要在工程里面添加启动文件,这个启动文件在ST的官网能找到。

编译代码的时候,会提示缺少各种头文件,这些头文件,在官网的标准库里面也能找到,按照提示拷贝进去就行。

准备工作做好了,就是真正开始点灯的时候,这一步必须要借助原理图和芯片手册。

配置GPIO时钟、引脚模式、输出方式、输出速度、上拉、输出高电平,这一波操作下来,如果英文水平一般,那真的很痛苦。

代码写的比较随意,也没用位移操作,纯粹就是为了点个灯。运行代码,灯确实亮了。

总结一下,用寄存器点灯确实麻烦,建立工程麻烦,读芯片手册也麻烦。

毫不夸张的说,如果没有基础,芯片又比较冷门,半天时间,保证你可以从入门到放弃。

而且剪辑视频的时候,很多细节还没放进去,比如微库,比如重置运行,少一个,你都要倒腾半天时间。

再来看下HAL库点灯,选择HAL库,就是因为他最简单。

配合cubemx,创建工程也只是分分钟的事。

打开main函数,其实步骤跟刚才的差不多,只是配置时钟,从刚才的寄存器变成了调用函数,好处就是,记住这个函数名就行,不用去看芯片手册。

至于刚才的配置引脚模式、输出方式等等,都变成了一个结构体,结合库手册,给结构体成员逐个赋值就行。

接下来,再次调用两个函数,一个初始化、一个让引脚输出。只要你不去刨根问底,用库来实现功能,比寄存器简单的多,对新手也特别的友好。




审核编辑:刘清

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

    关注

    22

    文章

    1592

    浏览量

    107955
  • 寄存器
    +关注

    关注

    31

    文章

    5336

    浏览量

    120249
  • STM32
    +关注

    关注

    2270

    文章

    10896

    浏览量

    355768
  • HAL库
    +关注

    关注

    1

    文章

    121

    浏览量

    6220

原文标题:同样是点灯,看看寄存器和库的区别

文章出处:【微信号:学益得智能硬件,微信公众号:学益得智能硬件】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何去实现用STM32点亮LED

    STM32点亮LED-
    发表于 08-03 06:16

    寄存器点亮led

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

    如何用STM32点亮LED

    如何用STM32点亮LED
    发表于 10-11 08:44

    如何利用STM32点亮LED

    如何利用STM32点亮LED
    发表于 11-29 06:57

    使用STM32点亮LED的方法

    led,大家大致看下点灯流程和点灯环境以及点灯流程,就能大概的了解下三者的区别,可以
    发表于 11-29 06:14

    认识STM32寄存器点亮LED

    STM32初学者,写博客只是为了记录学习,希望能有大神指点下初学者入门书有没有推荐的开始通过51来认识STM32
    发表于 11-30 07:22

    如何利用stm32点亮led

    stm32点亮ledstm32点灯原理建立工程文件三级目录
    发表于 01-07 07:08

    如何利用Stduino IDE点亮一颗LED

    一颗LED从TB买回来STM32小蓝板,为了点亮一颗
    发表于 01-10 07:30

    基于固件寄存器stm32程序编写的区别

    、基于固件寄存器stm32程序编写的区别1.基于固件
    发表于 01-18 09:25

    STM32点亮LED包括寄存器和库函数两种方法

    STM32点亮LED包括寄存器和库函数两种方法同时也有关于库函数的代码
    发表于 01-24 07:55

    使用寄存器点亮LED

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

    如何使用寄存器点亮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>

    寄存器与静态

    实现初始化时钟LED初始化LED闪烁三、库函数例程0.准备阶段1.目标任务拆分2.目标实现初始化时钟LED
    发表于 01-13 12:43 3次下载
    <b class='flag-5'>寄存器</b>与静态<b class='flag-5'>库</b>

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

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

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

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