我在高职教STM32——准备HAL库工程模板(2)
新学期已开始,又要给学生上 STM32 嵌入式课程了。这课上了多年了,一直用的都是标准库来开发,已经驾轻就熟了。人就是这样,有了自己熟悉的舒适圈,就很难做出改变,老师上课也是如此,排斥新课和不熟悉的内容。显然,STM32 的开发,HAL 库已是主流,自己其实也在使用,只不过更换库就意味着教学内容有很大变化,自己也就迟迟没有迈出调整这一步。现在,是时候做出变化了,笔者计划保持教学项目不变(图1所示),逐步将源码替换成 HAL 库。虽然不能一步到位,但会在备课期间逐步替换,自己就当再学习和巩固一遍。

上一篇已经将模板工程里的目录和文件都准备好了
相关文章:

我在高职教STM32——准备HAL库工程模板(2)
新学期已开始,又要给学生上 STM32 嵌入式课程了。这课上了多年了,一直用的都是标准库来开发,已经驾轻就熟了。人就是这样,有了自己熟悉的舒适圈,就很难做出改变,老师上课也是如此,排斥新课和不熟悉的内容。显然,STM32 的开发,HAL 库已是主流,自己其实也在使用,只不过…...

数字化转型的实战法则:全面剖析《数字化专业知识体系》中的落地策略与最佳实践
开启数字化成功的实践路径 随着全球经济加速迈向数字化,企业不再仅仅依赖传统商业模式,而是通过技术创新提升竞争力与市场地位。然而,数字化转型的成功不仅依赖于战略思维,更需要精准的实战执行。《数字化专业知识体系》…...

远程桌面内网穿透是什么?有什么作用?
远程桌面内网穿透指的是通过特定技术手段,将处于内网中的电脑或服务器,通过外部网络(互联网)进行访问。内网穿透的主要作用是解决在内网环境下,远程设备与外部互联网之间的连接问题,允许用户从外部访问内网…...

【算法专场】分治(上)
目录 前言 什么是分治? 75. 颜色分类 算法分析 算法步骤 算法代码 912. 排序数组 - 力扣(LeetCode) 算法分析 算法步骤 算法代码 215. 数组中的第K个最大元素 - 力扣(LeetCode) 算法分析 算法步骤 编辑…...
腾讯云软件工程师面试问题收集记录-数据库
SQL是什么:结构化查询语言,是一种专门用于管理关系型数据库管理系统的编程语言 MySQL操作命令 数据库操作 登陆数据库:mysql -u 用户面 -p创建数据库:CREATE DATABASE testdb; SQLite操作命令 数据库操作 创建数据库:…...
Sourcetree安装教程及使用
下载链接:源代码树 |适用于 Mac 和 Windows 的免费 Git GUI (sourcetreeapp.com) Sourcetree安装教程及使用_sourcetree 安装使用-CSDN博客...

TryHackMe 第1天 | Introduction to Cyber Security
偶然之间了解到了TryHackMe这个网站,尝试跟着其中的学习路径进行学习,发现还是挺适合入门网络安全这一领域的。但是这个网站包含了很多内容,如果不用一些东西记录下来,那么很容易忘记,所以打算在此记录一下学习过程。 …...
ASP.NET MVC 迅速集成 SignalR
在现代 Web 应用程序中,实时更新数据是一个常见需求。本文将详细介绍如何在 ASP.NET MVC 项目中使用 SignalR 实现定时任务操作数据库并将数据更新到网页。我们将逐步讲解如何配置 SignalR、创建定时任务、操作数据库以及在前端显示实时数据。 目录 项目初始化安装…...

[数据集][目标检测]葡萄成熟度检测数据集VOC+YOLO格式1123张3类别
数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):1123 标注数量(xml文件个数):1123 标注数量(txt文件个数):1123 标注…...

【Python 数据分析学习】Matplotlib 的基础和应用
题目 1 Matplotlib 主要特性2 Matplotlib 基础知识2.1 导入模块2.2 图形构成2.2.1 图形(Figure)2.2.2 轴 (Axes)2.2.3 轴线(axis) 2.5 中文设置2.5.1 借助rcParams修改字体实现设置2.5.2 增加一个fontprope…...

HarmonyOS应用开发者基础认证
目录 一、判断二、单选三、多选 一、判断 1、HarmonyOS提供了基础的应用加固安全能力,包括混淆、加密和代码签名能力。正确 2、可以通过ohpm uninstall 指令下载指定的三方库。错误 3、支持模块化开发是指一个应用通常会包含多种功能,将不同的功能特性…...
gin基本使用
中文文档:https://gin-gonic.com/zh-cn/docs/ 下载和安装gin模块 go get -u github.com/gin-gonic/gin简单接口demo package mainimport "github.com/gin-gonic/gin"func main() {r := gin.Default() // 创建一个默认的路由引擎r.GET("/pin…...

【VUE】pinia持久化存储
前言:状态持久化存储的意义在于它能够确保用户在与应用程序交互时,其操作状态、用户偏好、应用数据等关键信息在页面刷新、浏览器关闭或重新启动后依然得以保留,从而提供连贯、无缝的用户体验,避免因状态丢失导致的不便和重复操作…...
【Java基础】泛型
文章目录 泛型一、概述二、泛型的使用1、类2、方法3、接口 三、泛型通配符1、<?>2、<? extends T>3、<? super T> 四、泛型的擦除1、泛型的擦除2、泛型边界的擦除3、无法实例化泛型类型 泛型 一、概述 泛型(Generic)是一种机制&a…...

STL-vector练习题
118. 杨辉三角 思路: 杨辉三角有以下性质使我们要用到的: ● 每行数字左右对称,由 1 开始逐渐变大再变小,并最终回到 1。 ● 第 n 行(从 0 开始编号)的数字有 n1 项,前 n 行共有 2n(n1)个数。…...
Leetcode 165. 比较版本号(Medium)
给你两个 版本号字符串 version1 和 version2 ,请你比较它们。版本号由被点 . 分开的修订号组成。修订号的值 是它 转换为整数 并忽略前导零。 比较版本号时,请按 从左到右的顺序 依次比较它们的修订号。如果其中一个版本字符串的修订号较少,…...
Android 12 Launcher3 去掉Hotseat
1.概述 在12.0 产品定制化开发中 由产品需求Launcher3 页面布局的原因,要求Launcher3 需要去掉Hotseat 不显示Hotseat下面几个图标,而做满屏app的显示,从而达到美观的效果,下面就来分析去掉Hotseat从而实现这个功能 2.Launcher3 …...

Nginx实用篇:实现负载均衡、限流与动静分离
Nginx实用篇:实现负载均衡、限流与动静分离 | 原创作者/编辑:凯哥Java | 分类:Nginx学习系列教程 Nginx 作为一款高性能的 HTTP 服务器及反向代理解决方案,在互联网架构中扮演着至关重要的角色。它…...
python | Python中的类多态:方法重写和动态绑定
本文来源公众号“python”,仅用于学术分享,侵权删,干货满满。 原文链接:Python中的类多态:方法重写和动态绑定 多态(Polymorphism)是面向对象编程的核心特性之一,它允许同一接口在…...
Rust编写Windows服务
文章目录 Rust编写Windows服务一:Windows服务程序大致原理二:Rust中编写windows服务三:具体实例 Rust编写Windows服务 编写Windows服务可选语言很多, 其中C#最简单。本着练手Rust语言,尝试用Rust编写一个服务。 一:Win…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...

Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...

中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...