STM32的开发环境介绍
目录
STM32软件环境
Keil软件在线安装
其他软件环境安装
STM32开发的几种方式
STM32寄存器版本和库函数版本
标准外设库的作用:
STM32软件环境
STM32 的集成开发环境(IDE):编辑编译软件
常见的环境:
(1)KEIL:也称为 MDK_ARM,收费软件
(2)IAR: 许多全球著名的公司都在使用IAR提供的开发工具
(3)STM32CUBEIDE:ST 官方的开发软件,免费的
(4)VSCODE+插件
Keil软件在线安装
KEIL产品 官网下载 https://www.keil.com/download/product/
器件支持包 xxxxx.pack--KEIL 官网下载 https://www.keil.arm.com/
安装keil软件时不要有中文路径
其他软件环境安装
ST-link 驱动安装 -- 下载程序使用 ST-LINK 下载器
CH340 驱动安装 -- 在串口 1 的电路中 用到 CH340 进行 TTL 电平转 USB 电平
注意:ST-LINK 安装不要和 KEIL 一个文件夹下面
注意:
(1) CH340 装之后,看不到效果。
(2) ST_LINK 装完,一定保存好图标
STM32开发的几种方式
3 种方式:
寄存器 直观、底层、代码执行效率高 可移植性差、可读性差
标准库(库函数) 移植性高、可读性强、不需 要考虑底层寄存器冗余量大
HAL 库(LL 库) 增加第三方库的接口、使用CubeMx 可视化编程调试 底层比较麻烦
无论哪一种开发方式,最终都是操作的寄存器。
ST 在推广 HAL 之后,新出的系列芯片,不支持标准库,只支持 HAL 库
STM32寄存器版本和库函数版本
某些系列的 STM32 根据不同的使用场景和 FLASH 大小,启动文件.s 又有 cl、vl、xl、ld、md、hd 的区分,例如 STM32F10x 系列 MCU,其 cl、vl、xl、ld、md、hd 的含义如下:
cl:互联型产品,stm32f105/107 系列
vl:超值型产品,stm32f100 系列
xl:超高密度产品,stm32f101/103 系列
hd:高密度产品,FLASH 大于 128 F103xC,F103xD,F103xE
md:中等密度产品,FLASH=64 or 128 F103x8,F103xB
ld:低密度产品,FLASH 小于 64K F103x4,F103x6
STM32F103ZET6 64K+512K 高密度产品
STM32F103RCT6 48K+256K 高密度产品
STM32F103C8T6 20K+64K 中密度产品
标准外设软件库:--从 ST 官网下载https://www.st.com.cn/zh/embedded-software/stsw-stm32054.html
标准外设库的作用:
(1) 里面有参考例程,告诉我们各个外设如何使用
(2) 里面有创建工程必要的文件
相关文章:
STM32的开发环境介绍
目录 STM32软件环境 Keil软件在线安装 其他软件环境安装 STM32开发的几种方式 STM32寄存器版本和库函数版本 标准外设库的作用: STM32软件环境 STM32 的集成开发环境(IDE):编辑编译软件 常见的环境: (1)KEIL&a…...
【生成式AI】从原理到实践的创造性革命
目录 前言技术背景与价值当前技术痛点解决方案概述目标读者说明 一、技术原理剖析核心概念图解核心作用讲解关键技术模块说明技术选型对比 二、实战演示环境配置要求核心代码实现(文生图) 三、性能对比测试方法论量化数据对比结果分析 四、最佳实践推荐方…...
Win下Pycharm运行/调试配置脚本形参执行替换Linux下终端执行,进行调试需要注意的
Linux下终端执行 python demo/image_demo.py demo/demo.jpg rtmdet_tiny_8xb32-300e_coco.py --weights rtmdet_tiny_8xb32-300e_coco_20220902_112414-78e30dcc.pth --device cpuWin下Pycharm运行/调试配置脚本形参执行 主要改红色两处 如果工作目录正确,脚本形参…...
Pytorch(无CPU搭建)+Jupyter
2024年最新最简洁深度学习环境配置:AnacondaPyTorch(CPU、GPU)VScodePycahrm_哔哩哔哩_bilibili 跟 PyCharm說再見, [VSCode] PythonJupyter 超牛逼的功能 ! 5分鐘大幅提升編碼效率~ 數據分析、AI大神必備_哔哩哔哩_bilibili...
类的高级特性与语法细节
static 静态关键字 Java中的static关键字用于修饰类的成员(属性或方法),表示“静态”的含义,即属于类本身,而非某个对象。静态成员在内存中只有一份,在类加载时初始化,生命周期贯穿程序运行始终…...
基于 RAG 的 Text2SQL 全过程的 Python 实现详解,结合 LangChain 框架实现自然语言到 SQL 的转换
什么是RAG 一、核心流程:三阶段协同 RAG的核心流程分为检索(Retrieval)、增强(Augmentation)、生成(Generation)三个阶段,形成“检索→知识整合→生成”的闭环。 1. 检索ÿ…...
使用 OpenCV 进行视觉图片调整的几种常见方法
以下是使用 OpenCV 进行视觉图片调整的几种常见方法: 调整图片大小 指定目标尺寸:使用cv2.resize()函数,通过设定目标图像的宽度和高度来调整图片大小。例如,将图片调整为 200x200 像素: import cv2 image cv2.imre…...
【特殊场景应对9】视频简历的适用场景与风险分析
写在最前 作为一个中古程序猿,我有很多自己想做的事情,比如埋头苦干手搓一个低代码数据库设计平台(目前只针对写java的朋友),比如很喜欢帮身边的朋友看看简历,讲讲面试技巧,毕竟工作这么多年,也做到过高管,有很多面人经历,意见还算有用,大家基本都能拿到想要的offe…...
Dify 1.3.0 为 LLM 节点引入了结构化输出支持
Dify 1.3.0 为 LLM 节点引入了结构化输出支持 0. 引言1. 使用方法 0. 引言 Dify 1.3.0 开始,在 LLM 节点支持结构化输出:Dify 已经为 LLM 节点引入了结构化输出支持。这意味着您的语言模型现在可以返回整齐组织且易于处理的数据。后端实现由 Nov1c444 在…...
【Linux网络】HTTP协议全解析 - 从请求响应到方法与Header
📢博客主页:https://blog.csdn.net/2301_779549673 📢博客仓库:https://gitee.com/JohnKingW/linux_test/tree/master/lesson 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! &…...
JSP实现用户登录注册系统(三天内自动登录)
JSP实现用户登录注册系统 引言 在Web开发中,用户认证是最基础且核心的功能之一。本文基于JSP技术,实现了一个包含注册、登录、自动登录(3天内)、退出等功能的用户系统,并在过程中解决了Cookie字符错误、错误信息回显…...
大数据模型现状分析
大数据模型现状分析 一、引言 在当今数字化时代,数据以前所未有的速度增长,大数据已成为推动各行业发展的核心动力。大数据模型作为挖掘数据价值的关键工具,正受到广泛关注与深入研究。通过对海量、多样且高速产生的数据进行处理和分析&…...
代码随想录算法训练营第二十八天
LeetCode题目: 509. 斐波那契数70. 爬楼梯746. 使用最小花费爬楼梯2444. 统计定界子数组的数目(每日一题) 其他: 今日总结 往期打卡 动态规划解题步骤: 确定递推公式确定遍历顺序记忆化搜索(确定dp数组以及下标的含义与初始化值)递推优化与空间优化 509. 斐波那契数 跳转: 5…...
HTML与安全性:XSS、防御与最佳实践
HTML 与安全性:XSS、防御与最佳实践 前言 现代 Web 应用程序无处不在,而 HTML 作为其基础结构,承载着巨大的安全责任。跨站脚本攻击(XSS)仍然是 OWASP Top 10 安全威胁之一,对用户数据和网站完整性构成严…...
三维重建(二十)——思路整理与第一步的进行
文章目录 一、整体思路二、细分三、之前存在问题四、任务安排五、第一步——找到内参并选定一种5.1 train的RTK5.2 test的RTK5.3 各选择一个5.3.1 train-185.3.2 test-193一、整体思路 这部分主要是宏观的讲一下整体框架。 从gshell里面提取核心参数,放入py3d,渲染出图片,…...
判断 ONNX 模型是否支持 GPU
🔍 判断 ONNX 模型是否支持 GPU 的几个关键点: ✅ 1. 检查模型支持的 Execution Provider 可以通过下面的代码打印出来当前模型使用了什么设备: 需要安装好:onnxruntime-gpu import onnxruntime as ort session ort.InferenceSe…...
CANFD技术在实时运动控制系统中的应用:协议解析、性能测试与未来发展趋势
摘要: 本文深入探讨了CANFD技术在实时运动控制系统中的应用。通过对传统CAN协议与CANFD协议的对比分析,详细阐述了CANFD在提升数据传输效率、增强系统实时性与稳定性方面的优势。文章结合具体测试案例,对CANFD总线的性能指标进行了全面评估&a…...
Java基础 4.26
1.访问修饰符细节 package com.logic.modifier;public class A {public int n1 100;protected int n2 200;int n3 300;private int n4 400;public void m1() {//在同一个类中 可以访问public protected 默认 private 修饰属性和方法System.out.println(n1 " " …...
山东大学离散数学第九章习题解析
参考教材:离散数学教程,徐秋亮 / 栾俊峰 / 卢雷 / 王慧 / 赵合计 编著,山东大学计算机科学与技术学院 注:该解析为个人所写,涵盖了 2022-2023-2 学期赵合计老师所布置的所有课本习题;由于学识、认识及经验…...
5G融合消息PaaS项目深度解析 - Java架构师面试实战
5G融合消息PaaS项目深度解析 - Java架构师面试实战 场景:互联网大厂Java求职者面试,面试官针对5G融合消息PaaS项目进行提问。 第一轮提问 面试官:马架构,请简要介绍5G融合消息PaaS平台的核心功能和应用场景。 马架构ÿ…...
React-Redux
1、安装 npm i redux react-redux reduxjs/toolkit 2、基础使用方式(无 Toolkit) (1)核心Api createStore:创建数据仓库;store.dispatch():用于派发action,执行修改动作…...
Linux基础篇、第4章_03系统磁盘高级管理LVM 逻辑卷管理器
题目:系统磁盘高级管理LVM 逻辑卷管理器 版本号: 1.0,0 作者: 老王要学习 日期: 2025.04.26 适用环境: Centos7 文档说明 本文档聚焦于 Centos7 系统下的磁盘高级管理,围绕 LVM 逻辑卷管理器展开。详细介绍了物理卷、卷组和逻辑卷的创建、管理与删除操…...
代码随想录算法训练营Day36
力扣1049.最后一块石头的重量Ⅱ【medium】 力扣474.一和零【meidum】 一、力扣1049.最后一块石头的重量Ⅱ【medium】 题目链接:力扣1049.最后一块石头的重量Ⅱ 视频链接:代码随想录 1、思路 把这个问题转换成尽可能将 stones 分成两个等分子集…...
iperf网络性能测试
iperf 是一个网络性能测试工具,用于测量网络带宽、延迟、抖动等性能指标。它支持 TCP 和 UDP 协议,可以在客户端和服务器模式下运行,广泛用于网络性能评估和故障排查。 主要功能 带宽测试:测量网络的最大可用带宽。延迟测试&…...
基于 Nginx 的 WebSocket 反向代理实践
一、HTTP 协议升级机制回顾 Upgrade/Connection 报头 客户端发起 WebSocket 握手时,会在普通 HTTP 请求中加入Upgrade: websocket Connection: Upgrade Sec-WebSocket-Key: <随机值> Sec-WebSocket-Version: 13服务端若接受协议切换,会以 101 Swit…...
C++ 同步原语
同步原语(Synchronization Primitives)是操作系统和编程语言提供的基本工具,用于在多线程或并发环境中协调线程(或进程)之间的执行顺序,管理共享资源的访问,以避免数据竞争(data rac…...
mmap详解
mmap详解 mmap基础概念mmap内存映射原理mmap相关函数调用mmap的使用细节mmap和常规文件操作的区别 mmap基础概念 mmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一…...
基于大模型底座重构司法信息系统
前置篇章:法律智能体所需的基础知识 构建一个高效的法律智能体,特别是在基于RAG(Retrieval-Augmented Generation)架构的背景下,需要融合多种学科和领域的知识。以下是对法律智能体开发和应用所需核心基础知识的简要介…...
如何判断你的PyTorch是GPU版还是CPU版?
如何判断你的PyTorch是GPU版还是CPU版? PyTorch作为当前最流行的深度学习框架之一,支持在CPU和GPU(NVIDIA CUDA)上运行。对于深度学习开发者来说,正确识别PyTorch版本至关重要,因为GPU版本可以带来10-100倍的性能提升。本文将全面…...
Leetcode刷题记录19——无重复字符的最长子串
题源:https://leetcode.cn/problems/longest-substring-without-repeating-characters/description/?envTypestudy-plan-v2&envIdtop-100-liked 题目描述: 思路一: 通过两个指针,第一个指针指向字串的开头,第二…...
SpringBoot程序的创建以及特点,配置文件,LogBack记录日志,配置过滤器、拦截器、全局异常
一、创建一个SpringBoot程序 在之前写过一篇如何创建SpringBoot程序,两种方式,方法1:通过maven创建SpringBoot项目 方法2:使用Spring Initialzr创建一个SpringBoot项目(缺点:当创建项目时网络中断&#x…...
Ubuntu20.04 Ollama 配置相关
Ubuntu20.04 Ollama 配置相关 Ubuntu20.04 Ollama 配置相关ollama修改配置文件常用命令修改端口局域网访问 Ubuntu20.04 Ollama 配置相关 ollama修改配置文件常用命令 sudo gedit /etc/systemd/system/ollama.service systemctl daemon-reload systemctl restart ollama sys…...
python调用ffmpeg对截取视频片段,可批量处理
本文完全免费,非VIP文章,如果您发现需VIP可看全文,请邮箱联系我:openwebsitefoxmail.com 文章目录 python调用ffmpeg对截取视频片段,可批量处理用到的ffmpeg命令python调用bash指令的方法python处理代码准备函数python…...
【WLAN】华为无线AC双机热备负载分担—双链路热备份
配套实验拓扑可以下载学习交流:【WLAN】华为无线AC双机负载分担—双链路热备份 双链路备份的传统配置方式是在主、备AC上为AP指定对方AC的IP地址,并分别配置优先级,通过比较优先级的方式来确定主、备AC。为简化配置逻辑,新配置方式…...
学习笔记——《Java面向对象程序设计》-内部类、匿名类、异常类
参考教材: Java面向对象程序设计(第3版)微课视频版 清华大学出版社 1、内部类 类中可以有两种重要的成员:成员变量和方法。实际上Java还允许类可以有一种成员:内部类。 内部类可以使用其外嵌类中的成员变量&#x…...
BS架构与CS架构的对比分析:了解两种架构的不同特点与应用
目录 前言1. BS架构概述1.1 什么是BS架构?1.2 BS架构的主要特点 2. CS架构概述2.1 什么是CS架构?2.2 CS架构的主要特点 3. BS架构与CS架构的对比3.1 用户体验3.2 安全性3.3 适用场景 4. 结语 前言 在现代软件开发中,架构设计决定了应用的性能…...
ARM架构的微控制器总线矩阵优先级与配置
在 ARM 架构的微控制器中,总线矩阵的优先级与配置是确保多主设备(如 CPU、DMA 等)高效协同工作的关键。总线矩阵通过仲裁逻辑(Arbiter)管理主设备对共享资源的访问冲突,优先级配置直接影响系统的实时性、带宽利用率和任务响应速度。以下是总线矩阵优先级机制及配置的详细…...
高速系统设计理论基础
如前一章所述,在进行高速系统设计时,最重要的是要从基本理论出发,只有掌握了基本理论,然后才能谈到其他的设计技术和技巧。本章主要介绍微波电磁理论基础,及其在高速系统设计中的工程化分析方法和应用。通过对微波信号…...
Python-MCPServer开发
Python-MCPServer开发 使用FastMCP开发【SSE模式的MCPServer】,熟悉【McpServer编码过程】【McpServer调试方法】 1-核心知识点 1-熟悉【SSE模式的MCPServer】开发2-熟悉【stdio模式的MCPServer】开发3-熟悉【启动MCPServer】的三种方式 3.1-直接启动:python mcp_s…...
Springboot集成SSE实现消息推送+RabbitMQ解决集群环境下SSE通道跨节点事件推送问题
SSE连接介绍,SSE对比WebSocket Server-Sent Events (SSE) 是一种基于 HTTP 协议的轻量级实时通信技术,允许服务器向客户端推送数据。以下是 SSE 的主要特点: 单向通信:SSE 仅支持服务器向客户端推送数据,客户端不能通…...
Kettle学习
一、Kettle 简介 Kettle(现称为 Pentaho Data Integration)是一款开源ETL工具,支持从多种数据源抽取、转换和加载数据,广泛应用于数据仓库构建、数据迁移和清洗。其核心优势包括: 可视化操作:通过拖拽组件设计数据处理流程(转换和作业)。多数据源支持:数据库(MySQL/…...
科学养生,开启健康生活新方式
在快节奏的现代生活中,健康养生已成为人们关注的焦点。科学的养生方式不仅能增强体质,还能有效预防疾病,提升生活质量。 合理饮食是健康养生的基础。日常饮食应遵循均衡原则,保证蛋白质、碳水化合物、脂肪、维生素和矿物质的合…...
brew 安装openjdk查看其版本
使用brew(如果你使用Homebrew安装) 如果你通过Homebrew安装了OpenJDK,可以使用以下命令来查看安装的版本,: brew list --versions openjdk8 这将会列出所有通过Homebrew安装的OpenJDK版本及其版本号。 3. 查看/usr/libexec/ja…...
基于大模型对先天性幽门肥厚性狭窄预测及临床方案的研究报告
目录 一、引言 1.1 研究背景与目的 1.2 国内外研究现状 1.3 研究方法与创新点 二、先天性幽门肥厚性狭窄概述 2.1 定义与发病机制 2.2 流行病学特征 2.3 病理与解剖特点 三、大模型预测原理及构建 3.1 大模型简介 3.2 数据收集与预处理 3.3 模型训练与优化 四、大…...
【开源】基于51单片机的温湿度检测报警系统
项目说明 该设计是一个简易的基于51单片机的温湿度检测报警系统,功能说明: 使用LCD1602实时显示当前的温湿度。读取DHT11的温湿度值,如果温度大于最大设定值,LED1亮,如果温度小于最小设定值,LED2亮。如果…...
2025年4月25日第一轮
1.作文 The increasing reliance on onlineshopping has brought both convince and challenge to consumsers.It is of great nesscity for poeple to adapt better strategies to cope with these challenges.Resons and concrete evidence to support my view are as fello…...
AutoSAR从概念到实践系列之MCAL篇(二)——Mcu模块配置及代码详解(下)
欢迎大家学习我的《AutoSAR从概念到实践系列之MCAL篇》系列课程,我是分享人M哥,目前从事车载控制器的软件开发及测试工作。 学习过程中如有任何疑问,可底下评论! 如果觉得文章内容在工作学习中有帮助到你,麻烦点赞收藏评论+关注走一波!感谢各位的支持! 上一篇内容主要为…...
A. Ideal Generator
time limit per test 1 second memory limit per test 256 megabytes We call an array aa, consisting of kk positive integers, palindromic if [a1,a2,…,ak][ak,ak−1,…,a1][a1,a2,…,ak][ak,ak−1,…,a1]. For example, the arrays [1,2,1][1,2,1] and [5,1,1,5][5,…...
微信小程序核心技术栈
微信小程序核心技术栈 WXML一.WXML基础概念1.本质与特点2.与HTML的主要差异 二.数据绑定1.基础绑定2.高级绑定模式3.数据绑定限制 三.条件渲染1.基础条件判断2.多条件渲染优化3.条件渲染性能建议 四.列表渲染1.基础列表2.进阶用法3.wx:key的深度解析 五.模版系统1.定义模版2.使…...
系统架构设计中的ATAM方法:理论、实践与深度剖析
引言 在复杂系统架构设计中,如何在性能、安全性、可维护性等质量属性之间实现平衡,是每一位资深架构师必须面对的终极挑战。传统的架构评审往往依赖经验直觉或局部优化,而ATAM(Architecture Tradeoff Analysis Method,架构权衡分析方法)通过结构化分析框架,系统性解…...