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

2023-05-16

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

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

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

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

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • UART控制器LIN功能模式(NUC029LAN阅读笔记)

    UART控制器LIN功能模式 xff08 NUC029LAN阅读笔记 xff09 LIN总线帧格式字节域格式 xff08 LIN标准 xff09 帧头 xff08 Header xff09 同步间隔域 xff08 Break Field x
  • 关于新唐NUC029LAN库函数操作无法打开定时器2和定时器3的问题(库函数中的bug)

    结论 xff1a 问题 xff1a 使用NUC029LAN库函数中的设备时钟使能函数时 xff0c 无法正常打开定时器TMR2和TMR3 原因 xff1a clk h中 xff0c 定时器2模块 xff08 TMR2 MODULE xff0
  • STC12系列单片机的1T模式和12T模式

    STC12系列单片机的1T模式和12T模式 总结STC12系列单片机的1T模式和12T模式基本原理以定时器为例 总结 1T 模式 不分频 1个系统基本时钟 xff0c 执行一个动作 xff1b 12T模式 12分频 12个系统基本时钟 xf
  • 函数指针及其定义和用法,C语言函数指针详解

    声明 xff1a 转载 函数指针及其定义和用法 xff0c C语言函数指针详解 版权归原作者所有 xff0c 若有侵权请联系删除 函数指针及其定义和用法 xff0c C语言函数指针详解 函数指针大家了解一下就行了 xff0c 用得不多 xf
  • Python md5、sha256、sha1、加密方法

    需要使用 hashlib 这个库 xff0c python 自带的 xff0c 可以直接用 要加密的数据需要先使用 encode 进行编码 import hashlib data 61 34 你好 34 要进行加密的数据 data sha
  • 通信方式、通信接口、通信总线、通信协议的关系

    通信方式通信接口通信总线通信协议接口 总线 协议之间的关系 通信方式 通信方式是指通信双方之间的工作方式或信号传输方式 终端与其他设备 xff08 例如其他终端 计算机和外部设备 xff09 通过数据传输进行通信 xff0c 根据数据的传输
  • 通信方式的分类(串行通信和并行通信)

    通信方式的分类串行通信和并行通信串行通信同步通信和异步通信单工 半双工和双工 并行通信 通信方式的分类 通信方式是指通信双方之间的工作方式或信号传输方式 终端与其他设备 xff08 例如其他终端 计算机和外部设备 xff09 通过数据传输进
  • 为什么需要使用栈结构?

    在以往学习高级语言时 xff0c 提到栈 xff0c 下意识都会反映上来FILO xff0c 它是暂存数据的一种数据结构 xff0c 但是为什么会用到栈 xff1f 却一直讳莫如深 xff0c 这是高级语言不会涉及到的底层的实现 xff0c
  • C语言中define的用法

    define顾名思义 xff0c 就是下定义 xff0c 那么在C中它也发挥着下定义的作用 1 提前定义变量 include lt stdio h gt define N 100 int main int a 61 10 printf 34
  • C++编译时出现未定义的引用问题解决

    未定义的引用 xff08 undefined reference xff09 出现的原因是生成可执行文件所在的cpp包含头文件时 xff0c 头文件中声明的函数定义未被可执行文件所识别 xff0c 解决办法如下 xff1a add libr
  • 【仿真】手把手学会基于Simulink下的模糊控制系统(上)

    目录 前言 xff1a 什么是模糊控制 1 模糊控制器MATLAB教程 xff08 初级 xff09 1 1 模糊PD控制器 前言 xff1a 什么是模糊控制 控制专业并且写过论文的同学想必一定听说过模糊控制 xff0c 但多数人对于什么是
  • 【STM32CubeMX】STM32H7-RTOS-SPI-W5500

    工程源码下载 xff1a 基于裸机和Freertos的W5500网络通信工程 目录 1 移植W5500步骤 2 Cobemx配置步骤 2 1 时钟配置Clock Configuration 2 2 Trace and Debug配置 2 3
  • 【PADS】PADS覆铜技巧

    目录 重要快捷键 基础设置 层设置 电源层分割处理 给自己喜欢的网络上个颜色 TOP层覆铜 验证设计是否有问题 PADS开窗 PADS为分割层模拟数字地覆网格铜 PADS 快捷键 Ctrl 43 鼠标滚轮失灵 Ctrl 43 鼠标滚轮造成P
  • 【Cadence16.6】安装教程

    初识安装包文件 我们cadence16 6的安装包是这样的 xff0c 详细请去https www fanyedu com index mulitcourse video html id 61 1008 1008观看 首先我们打开这个文件夹
  • 【硬件】芯片温度/功耗计算

    本博客参考 xff1a 一纸沙漏的博客 芯片的四个温度 内核温度 封装表面温度 空气周边温度以及PCB板温度 TJ xff08 Die Junction Temp xff09 芯片的硅核温度 xff0c 就是芯片内部核心的温度 xff0c
  • Python unicode 字符串 转 list

    unicode 字符串 转 list unicodeList 61 u 39 100 100 100 100 100 100 39 1 方法一 list 61 eval unicodeList 2 方法二 int value for val
  • 【硬件】AD623单电源供电差分放大

    1 前言 检测电机电流运用检流电阻的方法在往期已经介绍过 详情请见 xff1a 检流电阻计算电流 2 需求分析 2 1 电机流过电流 已知电机的峰值堵转电流为4 6A xff0c 连续堵转电流为3 2A xff0c 以上信息可以得知需要采样
  • 【电路】PT1000/PT100温度采集电路

    目录 原理图下载链接 xff1a https download csdn net download Roger 717 33823983https download csdn net download Roger 717 33823983h
  • 【QT】手把手制作一个QT网络调试助手(准备阶段)

    目录 1 新建一个工程 2 mainwindow ui设计 2 1 对窗口主体进行栅格化布局 2 2 添加网络通信配置GroupBox 2 2 1 填充内容 2 2 2 栅格布局GroupBox 2 3 总结 3 Pro程序配置 4 头文件
  • 【PR】PR视频剪辑实用技巧

    1 两个视频叠加 1 首先 xff0c 找到要导入的视频所在文件夹 xff0c 将视频拖动到项目面板中 按住Ctrl拖动视频再复制两个视频 2 将素材视频分别拖入到序列的 视频轨道1 2 3 3 点击选中轨道1上的视频 xff0c 在源面板

随机推荐

  • 【Project】项目管理软件学习笔记

    一 前言 使用Project制定项目计划步骤大致如下 xff1a 以Project2013为例 xff0c 按照上图步骤指定项目计划 二 实施 2 1 创建空白项目 点击文件 新建 空白项目 xff0c 即完成了空白项目的创建 xff0c
  • 【硬件】P沟道和N沟道MOS管开关电路设计

    场效应管做的开关电路一般分为两种 xff0c 一种是N沟道 xff0c 另一种是P沟道 xff0c 如果电路设计中要应用到高端驱动 的话 xff0c 可以采用PMOS来导通 P沟道MOS管开关电路 PMOS的特性 xff0c Vgs小于一定
  • 多线程基础之七:多线程遇上printf的“延迟写”策略

    0 运行库提供的IO读写函数采用 延迟写 策略的原因 编程时经常会用到printf 函数 xff0c 但是由于printf 函数涉及到和显示器或磁盘等外设进行交互 xff0c 所以操作涉及到从 用户态 gt 内核态 gt 返回用户态 的一系
  • VC和VS区别

    S是Visual Studio xff0c 它是微软提供的一个工具集 xff0c 由各种各样的工具组成 VS可以支持C C 43 43 VB JAVA C 编程 然了一次只能支持一种编程方式 在VS安装完成 xff0c 第一次运行的时候会让
  • 【potplayer安装及设置LAV Splitter】

    potplayer安装及设置LAV Splitter 下载及安装Lav Splitter解码器配置Lav Splitter解码器 potplayer是一款windows平台上一款轻量功能强大的播放器 xff0c 它界面简洁 xff0c 功能
  • 关于头文件的相互包含

    编程过程中 xff0c 经常会碰到头文件的相互包含 xff0c 如果处理不慎 xff0c 就会报错 比如在头文件A h中有如下代码 xff08 代码中的B Handle是在头文件B h中定义的 xff09 xff1a span class
  • Python list中去重的多种方法

    去重之后顺序会改变 set去重 列表去重会让列表改变原来的顺序 l1 61 1 4 4 2 3 4 5 6 1 l2 61 list set l1 print l2 1 2 3 4 5 6 但是 xff0c 可以通过列表中索引 xff08
  • TI学习笔记之“振动补偿算法”

    一些应用中 xff0c 负载和机械角度有关 xff0c 比如空调压缩机 典型压缩机应用的负载曲线如下图所示 xff0c 不难发现 xff0c 在一个机械周期内 xff0c 负载和机械角度存在一定的关系 xff0c 这种情况在转子式压缩机中尤
  • “compilerPath“的问题

    在c cpp properties josn文件中 xff0c complierPath的问题解决如下 如果正在编译c 43 43 文件 xff0c 先在终端输入which g 43 43 我的弹出了 usr bin g 43 43 把这个
  • Digest Authentication Response 如何计算

    Session Initiation Protocol NOTIFY Request Line NOTIFY sip 192 168 125 130 5060 SIP 2 0 Method NOTIFY Request URI sip 19
  • ROS-Melodic 编译Moveit全过程记录和错误解决方案

    ROS Melodic 编译Moveit全过程记录和错误解决方案 在Ros Melodic版本下 xff0c 直接运行sudo apt get install ros melodic moveit会出现以下错误 xff1a 下列软件包有未满
  • Jetson TX2在ROS下使用Realsense D435i跑rtabmap、octomap、VINS-Mono和ORB-SLAM2

    使用环境 xff1a Ubuntu 16 04 JetPack 3 3 xff0c ROS Kinetic硬件设备 xff1a 英伟达Jetson TX2 xff0c 英特尔Realsense D435i 安装Realsense相关的相机驱
  • C++实现流式socket聊天程序

    目录 协议设计 消息的类型 消息的语法 消息的语义 消息的处理 发送消息 接收消息 程序设计 模块的划分和功能 Client客户端 Server服务器 模块流程图 程序实现 辅助代码 client cpp server cpp 程序测试 本
  • STM32 串口 FIFO

    使用FIFO实现串口数据的收发功能 FIFO的相关实现参照链接 xff1a CSDN https mp csdn net mp blog creation editor 120448361 1 Cubemx串口配置 使用Cubmx对串口进行
  • C Primer Plus

    C Primer Plus作为一本被人推崇备至的c入门经典 xff0c C primer plus绝非浪得虚名 应该算得上C教材里最好的入门书了 在知识广度上 xff0c 很少有书能匹及 它能为你系统学习c提供一个良好的平台 作者对c的见解
  • Python 如何处理大文件

    Python作为一门程序设计语言 xff0c 在易读 易维护方面有独特优势 xff0c 越来越多的人使用 Python 进行数据分析和处理 xff0c 而 Pandas 正是为了解决数据分析任务而创建的 xff0c 其包含大量能便捷处理数据
  • C++构造DHCP Discovery报文并使用socket发送

    DHCP由BOOTP协议发展而来 xff0c 而后者基于UDP IP协议 xff0c 这使得使用socket发送DHCP报文成为可能 本文示例构造了DHCP Discovery报文并调用socket接口发送 xff0c 值得注意的是 xff
  • pycharm 常用快捷键整理

    pycharm常用快捷键 1 编辑 xff08 Editing xff09 Ctrl 43 Space 基本的代码完成 xff08 类 方法 属性 xff09 Ctrl 43 Alt 43 Space 快速导入任意类 Ctrl 43 Shi
  • RTT串口V1版本的使用分析及问题排查指南(一)

    本文由RT Thread论坛用户123原创发布 xff1a https club rt thread org ask article 2894 html RTT串口V1版本的使用分析及问题排查指南 一 简述 无论是刚接触 RT Thread
  • 总结基于寄存器与基于固件库stm32编程的差异

    基于寄存器与基于固件库stm32编程方式有什么差异 总的来说是专业层面或者说是应用层面的区别 总的来说是专业层面或者说是应用层面的区别 从应用角度讲 xff0c 寄存器相对来说是属于更底层的 xff0c 类似于驱动层 xff0c 而固件库则