基于寄存器与基于固件库stm32编程方式有什么差异

  • 总的来说是专业层面或者说是应用层面的区别

总的来说是专业层面或者说是应用层面的区别

从应用角度讲,寄存器相对来说是属于更底层的,类似于驱动层,而固件库则类似通过将寄存器封装之后的应用层。相比之下,固件库更像是包装好给用户的产品一样,只需要我们使用就行了,让封装自己和寄存器打交道,而使用寄存器在使用时必须要清楚自己要操作那个一个寄存器,就很复杂,需要了解清楚寄存器的底层配置。

从专业角度来讲,由于寄存器更底层,更需要用户了解基本构成以及底层配置,所以说操作寄存器相对于固件库显得更加专业,相比之下,直接操作固件库不需要了解那么多甚至不了解就可以直接开发,并不需要太多专业知识。

以上可以总结出他们的优缺点
固件库优点:可以直接应用,操作更方便,开发迅速,适合新手入门。
固件库缺点:因为操作固件库,本质上也会对寄存器的操作,因为要通过封装这一中间商,所以执行速度要比直接操作寄存器更慢。没有寄存器移植那么方便。

总的来讲:我们可以从固件库入门,之后再慢慢深入了解寄存器,了解相关知识,在我看来,了解更多底层的东西是有利无害的,更利于提升自己,可以懒,但是不能不会。

总结基于寄存器与基于固件库stm32编程的差异相关推荐

  1. python虚拟机 基于寄存器_基于栈虚拟机和基于寄存器虚拟机的比较

    基于栈虚拟机和基于寄存器虚拟机的比较 原创iWay7 最后发布于2018-04-08 10:33:32 阅读数 81 收藏 展开 1.指令条数:栈式>寄存器式,例如一个加法运算 a = b + ...

  2. 课程 | 基于STM32CubeMX和HAL驱动库的嵌入式系统设计

    帮成都这边一位老师友情分享一篇免费课程:基于STM32CubeMX和HAL驱动库的嵌入式系统设计. 如果想学习本课程,可以从文末给出的链接,或底部"阅读原文"进入报名,免费学习. ...

  3. STM32 HAL库开发转固件库开发杂谈

    前言 本文使用代码工程 STM32HAL库开发转固件库开发杂谈-嵌入式文档类资源-CSDN文库 STM32 最早提供固件库开发,在当时也是一个很大的创新.导致大量攻城狮熟悉了固件库开发,后面STM32 ...

  4. 【STM32】新建基于STM32F40x 固件库的MDK5 工程

    00. 目录 文章目录 00. 目录 01. 前提条件 02. 创建工程步骤 03. 系统时钟配置 04. 添加其他功能函数 05. 附录 06. 声明 01. 前提条件 1.1 官方标准固件库 文件 ...

  5. stm32(库函数)——新建基于固件库的MDK5工程模板

    这里根据STM32不完全手册记录建立库函数版本的基于固件库的MDK5工程模板. 1.我们每一次新建工程都会新建一个文件夹存放所有文件. 2.点击MDK的菜单:Project->New Uvisi ...

  6. STM32基于固件库学习笔记(11)RTC实时时钟

    实时时钟(RTC) 小容量产品是指闪存存储器容量在16K至32K字节之间的STM32F101xx.STM32F102xx和STM32F103xx微控制器. 中容量产品是指闪存存储器容量在64K至128 ...

  7. STM32基于固件库学习笔记(4)(通用定时器)TIM3定时1S中断

    STM32F103ZE系列定时器资源 有 TIME1 和 TIME8 等高级定时器,也有 TIME2~TIME5 等通用定时器,还有 TIME6 和TIME7 等基本定时器. 通用定时器:是一个通过可 ...

  8. 1、新建基于标准固件库MDK5工程模板(STM32F103ZET6)

    新建基于标准固件库MDK5工程模板 1.STM32官方库文件夹介绍 如上图,是ST官方提供的STM32标准固件库的文件包结构: STM32官方固件库下载地址: "https://www.st ...

  9. MDK5新建工程详细教程-基于固件库

    大家好,因为自身对STM32接触的较多,今天向大家介绍一下如何在MDK5上新建工程. 给小伙伴们推荐几个网址,对学习STM32很有帮助. 正点原子官方论坛:STM32中文论坛:MDK官方:正点原子B站 ...

最新文章

  1. HDU 4712 Hamming Distance(随机算法)
  2. 中国12个工科世界第一,网友:全是不吃香的|软科2021世界一流学科排名
  3. SpringMvc多语言配置
  4. Python3基础知识之运算符
  5. Eval.cs的改进版 动态编译类,可以计算表达式,也可以调用系统中的类
  6. 2013计算机大纲,2013计算机应用基础考试大纲
  7. DataList用法
  8. 什么是语音复用设备?
  9. java中程序执行顺序
  10. mysql myisam 支持事务吗_第三章(附)mysql表类型MyISAM和InnoDB区别(决定了是否支持事务)...
  11. Python list去重,去掉list中元素为字典的且字典部分key相同的list元素(列表去重、字典去重)
  12. linux中paste的用法,在Linux中使用Paste命令来合并行,包括使用Paste命令技巧及注意事项...
  13. SpringCloud学习笔记012---CentOs7搭建高速缓存NoSql Redis单机服务_redis_4.0.1_或者redis_6.0.x_可自定义版本
  14. web.py+xheditor+ ajaxfileupload+新浪sae图片上传
  15. myblog test
  16. win7读取linux硬盘序列号,Windows 下获取硬盘序列号
  17. 里恩eLearning在线培训考核系统介绍
  18. FFmpeg mxf扩展hdr、bt2020
  19. 【k8s-5】kubeadm init过程的错误
  20. 解决移动Windows Kits后运行出错的问题

热门文章

  1. 猜单词1.88.3.3补丁
  2. 道路最短路径问题、道路最优路径问题解决方案
  3. PCoE卓越诊断学中心——NASA共享训练数据的资源站
  4. android 1s,OPPO R11s将火速升级安卓8.1,官方内测开启
  5. 全志V3S嵌入式驱动开发(系统image创建和烧入)
  6. iOS 苹果开发证书失效的解决方案(Failed to locate or generate matching signing assets)
  7. C#如何判断当前输入的内容包含全角输入法的内容?
  8. 抗病毒面料之外,安奈儿价值内核彰显
  9. 数值计算笔记之条件数
  10. [AHK]右键单击托盘中的QQ图标退出QQ