STM32单片机

STM32和51单片机的区别

51单片机的外设资源少,寄存器少,运行速度慢,价格便宜,容易上手

STM32单片机的外设资源更多,寄存器多,运行速度相对快,价格相对贵,上手相对较难

STM32的寄存器寄存器非常多,更复杂,一般用库函数进行编程,也就是API接口,这是与51单片机编程时最大的区别

寄存器编程与库函数编程:

寄存器编程是直接操作寄存器的编程

库函数编程相当于是间接的寄存器编程,就是把寄存器的参数和配置封装成函数,可以调用函数进行外设初始化,厂家封装提供好的,只需要去操作厂家提供的函数,去初始化对应的一些外设,就可以完成对芯片的一些资源的使用

寄存器编程(直接对寄存器进行操作,是最接近底层的编程方式,也是运行效率最高的)

库函数编程(代码更好维护,开发过程更快,可移植能力强)

ST提供的3种库函数编程方式:标准库、HAL库、LL库

其中标准库是最早的,已经停止维护了,现在更多使用HAL库,LL库的效率更高,在特殊情况下使用,CubeMX现在里面只有HAL库和LL库

HAL库的优点:

最大可移植性

2.提供了一整套一致的中间件组件,如RTOS,USB,TCP/IP和图形等

3.通用的用户友好的API函数接口

4.HAL库已经支持STM32全线产品

学习STM32所需要软件:

Keil MDK用于编写代码,编译代码(与之前51单片机用的不同)

STM32CubeMX用于自动生成工程,减少手动重复工作

vscode用于更高效地编写代码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/94976.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/94976.shtml
英文地址,请注明出处:http://en.pswp.cn/web/94976.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[特殊字符]论一个 bug 如何经过千难万险占领线上

谨以此文献给每一个曾与 Bug 搏斗、最终却目睹它成功上线的你 本文旨在揭露 Bug 的狡猾,绝非鼓励以下行为。若你照做,后果自负🐶每一个在线上逍遥法外的 Bug,都不是偶然。它是一场精心策划的奇迹,是开发、联调、测试、…

Day12-python文件操作(二)

目录前言一、Excel文档操作1.1、xlrd和xlwt库1.2、openpyxl库1.3、pandas库总结前言 今天继续学习文件操作相关内容,为后续办公自动化打基础。 一、Excel文档操作 1.1、xlrd和xlwt库 如果要兼容 Excel 2007 以前的版本,也就是xls格式的 Excel 文件&am…

CollageIt:简单易用的照片拼贴工具

在数字图像处理领域,制作照片拼贴是一种常见的创意表达方式。CollageIt作为一款体积小巧、简单易用的照片拼贴工具,能够帮助用户轻松将多张图片拼合成一张精美的拼贴画。它不仅操作简单,还支持多种图片格式,确保用户可以快速制作出…

Java全栈工程师的实战面试:从基础到微服务的全面解析

Java全栈工程师的实战面试:从基础到微服务的全面解析 一、开场介绍 面试官:你好,欢迎来到我们公司。我是今天的面试官,负责技术部分的评估。请先简单介绍一下你自己。 应聘者:您好,我叫李明,25岁…

驱动开发系列68 - GLSL编译器实现 - 算数指令折叠及访存优化

一 : 指令合并概述 指令折叠的意思,原本一个语句会产生多条指令,通过折叠,可以删除一些中间指令,减少指令数量,并且能够减少寄存器占用。提高执行效率。 举一个例子: MUL A, B, 4 ; A = B * 4MAD D, A, 2, F ; D = A * 2 + F MAD G, A, 3, I ; G …

深入解析Qt节点编辑器框架:高级特性与性能优化(四)

文章目录一、高级交互特性:超越基础操作的用户体验提升1. 节点组管理:折叠与嵌套的层级组织2. 智能连接线路由:避免交叉与视觉混乱3. 批量操作与快捷键:提升操作效率二、性能优化:应对大规模节点场景的核心策略1. 图形…

Python 入门操作指南

引言 Python 是一种简单易学却功能强大的编程语言,广泛应用于数据分析、人工智能、Web 开发等领域。对于初学者而言,掌握 Python 的入门操作是迈向编程世界的第一步。本文将以总分总的结构,系统介绍 Python 的安装方法、推荐的开发工具、第一个 Python 程序示例,以及包管理…

ZooKeeper 安装配置

前言 有时会需要安装开源的大数据集群进行测评或者验证问题,已经装过很多遍了,所以想系统的总结整理一下各个组件的安装部署,包括 Zookeeper、Hadoop、Hive、Spark 等。 版本 Zookeeper 3.5.6 3.8.4 3.9.3 初始化 包括主机名修改、SSH互…

考研数据结构Part3——二叉树知识点总结

一、前言 二叉树是一种特殊的树形结构,每个节点最多有两个子节点,分别称为左子树和右子树。其特点是子树有严格的左右之分,顺序不可颠倒。从历年真题来看,二叉树的链式存储实现、遍历算法、属性统计是高频考点,常以选择…

网络与信息安全有哪些岗位:(12)威胁分析师

今天是七夕节,首先祝大家早遇良缘、有情人终成眷属!!七夕节快乐、工作顺利、学业有成~~ 想知道网络与信息安全领域有哪些具体岗位吗?此前我们已陆续介绍网络安全工程师、渗透测试工程师、SOC 总监、SOC 工具运维工程师等核心角色&…

mysql双机热备(主主模式)

一、环境准备 主机名ip操作系统备注node01192.168.48.91CentOS Linux 7 (Core)mysql主库node01192.168.48.92CentOS Linux 7 (Core)mysql主库192.168.48.90漂移IP(VIP) centos7镜像下载地址: https://mirrors.aliyun.com/centos/7.9.2009/…

微积分 | 积分代换

注:本文为 “微积分 | 积分代换法 ” 相关合辑。 英文引文,机翻未校, 中文引文,略作重排。 未去重,如有内容异常,请看原文。 Integration by Substitution 积分代换法 May 23, 2018 / By Dave Peterson …

循环高级(1)

1.无限循环2.break3.coutinue4.练习1 打印矩形&#xff08;循环嵌套&#xff09;5.练习2 打印直角三角形#include<stdio.h> int main() {/*打印一个5行5列的三角形效果如下&#xff1a;***** ***** ***** ***** *****…

vpp开启nat,分片包丢包问题分析与解决

现象描述两个网口都开启nat output-feature&#xff0c;路由模式进行大包转发&#xff0c;网络不同&#xff0c;小包转发没问题。通过trace发现&#xff0c;在nat44-ed-in2out-output-slowpath节点丢包。Packet 503:50:43:447292: handoff_traceHANDED-OFF: from thread 2 trac…

深入解析交换机端口安全:Sticky MAC的工作原理与应用实践

深入解析交换机端口安全&#xff1a;Sticky MAC的工作原理与应用实践在当今企业网络环境中&#xff0c;未授权设备接入是常见的安全威胁之一&#xff0c;而Sticky MAC技术正是解决这一问题的利器。在网络安全管理中&#xff0c;端口安全是保护网络基础设施的第一道防线。Sticky…

AI接管浏览器:Anthropic发布Claude for Chrome,是效率革命还是安全噩梦?

AI智能体&#xff08;Agent&#xff09;的竞赛&#xff0c;正在以超乎想象的速度进入白热化阶段。 就在上个月&#xff0c;OpenAI刚刚凭借ChatGPT Agent&#xff0c;向世界展示了AI在云端远程操作电脑、制作PPT的强大能力。而现在&#xff0c;它的老对手Anthropic&#xff0c;…

LFI-labs靶场通关教程

目录 CMD01-06 pass01 pass02 pass03 pass04 pass05 pass06 HDR-1 hdr-1 LFI-01-14 pass01 pass02 pass03 pass04 pass05 pass06 pass07 pass08 pass09 pass10 pass11 pass12 pass13 pass14 CMD01-06 pass01 看看源码, 这里显示的是一个get参数cmd,并…

随机森林的 “Bootstrap 采样” 与 “特征随机选择”:如何避免过拟合?(附分类 / 回归任务实战)

随机森林的 “Bootstrap 采样” 与 “特征随机选择”&#xff1a;如何避免过拟合&#xff1f;&#xff08;附分类 / 回归任务实战&#xff09; 第一部分&#xff1a;揭开随机森林的神秘面纱 1.1 告别“过拟合”&#xff0c;拥抱更强大的模型 在机器学习的旅程中&#xff0c;…

Java开发 - 缓存

一、RedisUtil封装package com.qj.redis.util;import lombok.extern.slf4j.Slf4j; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component;import javax.annotation.Resource; import java.util.Set; import java.util.…

光伏发多少电才够用?匹配家庭用电需求

在“双碳”目标推动下&#xff0c;新能源产业迎来爆发式增长&#xff0c;家庭屋顶光伏凭借清洁环保、能降低电费的优势&#xff0c;成为越来越多家庭的选择。但很多家庭在安装前都会陷入一个核心困惑&#xff1a;到底装多大容量的光伏系统&#xff0c;发多少电才能刚好满足自家…