【STM32】

STM32

  • 1 CMSIS
    • 1.1 概述
    • 1.2 CMSIS 应用程序文件描述
  • 2 库
    • 2.1 简介
    • 2.2 标准外设库(standrd Peripheral Libraries)
    • 2.3 HAL 库
      • 2.3.1 目录结构
      • 2.3.2 HAL库API函数和变量的命名规则
      • 2.3.3 HAL库对寄存器位操作的相关宏定义
      • 2.3.4 HAL库回调函数
      • 2.3.5 HAL使用注意事项
    • 2.3 LL 库
  • 3 STM32Cube
    • 3.1 概述
    • 3.2 固件包文件夹简介
    • 3.3 STM32CubeMX
      • 3.3.1 概述
  • 4 STM32CubeIDE
  • 5

1 CMSIS

1.1 概述

ARM Cortex™ 微控制器软件接口标准(CMSIS:Cortex Microcontroller Software Interface Standard) 是 Cortex-M 处理器系列的与供应商无关的硬件抽象层(英文原文为:a vendor-independent hardware abstraction layer for the Cortex-M processor series and defines generic tool interfaces–来自ARM官方定义)。 使用CMSIS,可以为处理器和外设实现一致且简单的软件接口,从而简化软件的重用、缩短微控制器新开发人员的学习过程,并缩短新设备的上市时间
在这里插入图片描述

1.2 CMSIS 应用程序文件描述

在这里插入图片描述

2 库

2.1 简介

st为方便用户开发stm32芯片提供三种库:
1.标准外设库(standrd Peripheral Libraries)
2.HAL库(硬件抽象层)
3.LL库 Low Layer 基本上就是寄存操作的方式实现的库。
在这里插入图片描述

2.2 标准外设库(standrd Peripheral Libraries)

2.3 HAL 库

2.3.1 目录结构

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3.2 HAL库API函数和变量的命名规则

在这里插入图片描述

2.3.3 HAL库对寄存器位操作的相关宏定义

在这里插入图片描述

2.3.4 HAL库回调函数

在这里插入图片描述

2.3.5 HAL使用注意事项

在这里插入图片描述

2.3 LL 库

3 STM32Cube

3.1 概述

STM32Cube是ST公司开发的一套生态系统,致力于使STM32的开发变的更简单,并且100%开源免费。
STM32Cube生态系统包括两大部分:

  • PC软件工具:STM32CubeMX、STM32CubeIDE、STM32CubeProgrammer、STM32CubeMnitor等
  • 软件库:STM32 Embedded Software bricks

st官方下载
方式一:st官方下载地址: https://www.st.com/zh/embedded-software/stm32cubef2.html
方式二:st官方搜索STM32Cube
在这里插入图片描述
在这里插入图片描述

3.2 固件包文件夹简介

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3 STM32CubeMX

下载地址: https://www.st.com/en/development-tools/stm32cubemx.html

3.3.1 概述

STM32CubeMX 是用于 32 位 ARM Cortex STM32 微控制器的图形工具。它允许对 STM32 微控制器和微处理器进行非常简单的配置,生成初始化 C 代码,还可以通过一步一步的操作为 Arm Cortex-M 内核或 Arm Cortex-A core 生成部分 Linux 设备树。它是 STMCube 生态系统的一部分,且可以作为独立应用程序或作为 Eclipse 插件集成在开发环境(STM32CubeIDE)中。
STM32CubeMX 适用于任何STM32设备的配置工具 该工具用Java编写,所以可以在Windows、Linux、Mac上运行,它可以使用户通过图形用户界面对微控制器进行配置,然后为Cortex-M内核生成初始化C代码,或者为Cortex-A内核生成Linux设备树源(下面两张图对STM32CubeMX的作用作以诠释):

4 STM32CubeIDE

STM32CubeIDE 集成开发环境 该工具是基于Eclipse+GNU C/C++工具链的,除了基本的编辑和编译功能,还包括代码编译报告功能和高级调试功能,另外,该IDE还集成了CubeMX。

5

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

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

相关文章

uniapp的实战总结大全

🙂博主:冰海恋雨 🙂文章核心:uniapp部分总结 目录 ​编辑 目录 前言: 解决方案 1. 跨平台开发 2. Vue.js生态 3. 组件库 4. 自定义组件 5. Native能力 6. 插件生态 7. 性能优化 写法 1. 模板&#xf…

头歌答案HTML——基础

目录 HTML——基础 第1关:初识HTML:简单的Hello World网页制作 任务描述 第2关:HTML结构:自我简介网页 任务描述 HTML——基本标签 第1关:创建第一个 HTML 标签 任务描述 第2关:创建 任务描述 …

GoLong的学习之路,进阶,语法之并发(并发错误处理)补充并发三部曲

这篇文章主要讲的是如何去处理并发的错误。 在Go语言中十分便捷地开启goroutine去并发地执行任务,但是如何有效的处理并发过程中的错误则是一个很棘手的问题。 文章目录 recovererrgroup recover 哦对,似乎没写错误处理的文章。后面补上。 首先&…

【面试经典150 | 】颠倒二进制位

文章目录 写在前面Tag题目来源题目解读解题思路方法一:逐位颠倒方法二:分治 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带一些对于…

【使用教程】在Ubuntu下PMM60系列一体化伺服电机通过PDO跑循环同步位置模式详解

本教程将指导您在Ubuntu操作系统下使用PDO来配置和控制PMM60系列一体化伺服电机以实现循环同步位置模式。我们将介绍必要的步骤和命令,以确保您能够成功地配置和控制PMM系列一体化伺服电机。 一、准备工作 在正式介绍之前还需要一些准备工作:1.装有lin…

c语言-数据结构-带头双向循环链表

目录 1、双向循环链表的结构 2、双向循环链表的结构体创建 3、双向循环链表的初始化 3.1 双向链表的打印 4、双向循环链表的头插 5、双向循环链表的尾插 6、双向循环链表的删除 6.1 尾删 6.2 头删 6.3 小节结论 7、查找 8、在pos位置前插入数据 9、删除pos位…

Lightroom Classic 2023 v12.4

Lightroom Classic 2023是一款图像处理软件,是数字摄影后期制作的重要工具之一。与其他图像处理软件相比,Lightroom Classic具有以下特点: 高效的图像管理:Lightroom Classic提供了强大的图像管理功能,可以轻松导入、…

Google Firebase PHP实现消息推送

获取key的方法: 登录谷歌开发者后台 https://console.firebase.google.com/?hlzh-cn function firebaseNotice($title,$body){$token_arr[token1,token2]; //用户的firebasetoken列表$notify_msg ["notification" > ["title" > $title…

古人是如何防雷的?——中国古建筑中的防雷智慧

“雷电”这个词自古以来就一直伴随着人类的生活,并且给我们人类的生活造成了不小的影响。我国古代建筑大多是木质结构,如果雷击打在上面,就不仅仅是物理损坏,还有可能引发火灾。为了保护建筑物及人们的生命财产安全,如…

PostgreSQL 入门教程

PostgreSQL 入门教程 1. 历史背景2. 概念3. 特点4. 用法4.1 数据库连接4.2 数据库创建4.3 表创建4.4 数据插入4.5 数据查询4.6 数据更新4.7 数据删除 5. 安装步骤6. 简单示例7. 扩展7.1 数据类型7.2 查询优化7.3 并发控制7.4 数据备份和恢复7.5 扩展性和高可用性7.6 安全性加固…

【uniapp/uview】Collapse 折叠面板更改右侧小箭头图标

最终效果是这样的: 官方没有给出相关配置项,后来发现小箭头不是 uview 的图标,而是 unicode 编码,具体代码: // 箭头图标 ::v-deep .uicon-arrow-down[data-v-6e20bb40]:before {content: \1f783; }附一个查询其他 u…

第二十九章 目标检测中的测试模型评价指标(车道线感知)

前言 近期参与到了手写AI的车道线检测的学习中去,以此系列笔记记录学习与思考的全过程。车道线检测系列会持续更新,力求完整精炼,引人启示。所需前期知识,可以结合手写AI进行系统的学习。 介绍 自动驾驶的一大前提是保证人的安全…