当前位置: 首页 > news >正文

【Markdown】【HTML】在Markdown中实现康奈尔笔记模式(右侧留白)

文章目录

    • HTML表格——康奈尔笔记法
    • 标签解释
      • `<table>` 相关标签
      • 文本内容标签
      • 注释标签
    • 最低限度应了解的HTML标签 (Essential HTML Tags)
      • 结构标签 (Structure Tags)
      • 文本标签 (Text Tags)
      • 列表标签 (List Tags)
      • 链接和图片 (Links and Images)
      • 格式化 (Formatting)
      • 表格 (Tables)

康奈尔笔记法是一种将笔记页分为不同区域的记录方法,通常有主要笔记区域、右侧的提示区域和底部的总结区域。在Markdown中实现这种布局,尤其是右侧留白效果,可以方法实现。

HTML表格——康奈尔笔记法

最直接的方法是使用HTML表格,在Markdown中嵌入HTML:

<table width="100%" border="0"><tr><td width="70%" valign="top"><!-- 主要笔记内容 --><h2>主要笔记区域</h2><p>这里是笔记的主要内容。可以包含各种Markdown格式的文本。</p><ul><li>要点1</li><li>要点2</li><li>要点3</li></ul></td><td width="30%" valign="top"><!-- 右侧线索/关键词区域 --><h3>关键词区域</h3><p>重要概念</p><p>问题</p><p>要记住的内容</p></td></tr>
</table><!-- 底部总结区域 -->
<h3>总结</h3>
<p>这里是对以上内容的总结和反思。</p>

主要笔记区域

这里是笔记的主要内容。可以包含各种Markdown格式的文本。

  • 要点1
  • 要点2
  • 要点3

关键词区域

重要概念

问题

要记住的内容

标签解释

<table> 相关标签

<table width="100%" border="0">
  • <table>: 定义HTML表格
  • width="100%": 设置表格宽度占据可用空间的100%
  • border="0": 设置表格边框为0(无边框)
<tr>
  • <tr>: 表示"table row",定义表格中的一行
<td width="70%" valign="top">
  • <td>: 表示"table data",定义表格单元格
  • width="70%": 设置单元格宽度为表格总宽度的70%
  • valign="top": 设置单元格内容垂直对齐方式为顶部对齐

文本内容标签

<h2>主要笔记区域</h2>
  • <h2>: 二级标题标签,用于重要性次于<h1>的标题
<p>这里是笔记的主要内容。</p>
  • <p>: 段落标签,定义一个文本段落
<ul><li>要点1</li><li>要点2</li><li>要点3</li>
</ul>
  • <ul>: 无序列表(unordered list),创建项目符号列表
  • <li>: 列表项(list item),定义列表中的单个项目
<h3>总结</h3>
  • <h3>: 三级标题标签,重要性次于<h2>

注释标签

<!-- 主要笔记内容 -->
  • 这是HTML注释,不会显示在网页上,仅作为代码提示

最低限度应了解的HTML标签 (Essential HTML Tags)

  • 结构标签: <html>, <head>, <body>
  • 文本标签: <h1><h6>, <p>, <span>
  • 列表标签: <ul>, <ol>, <li>
  • 链接和图片: <a>, <img>
  • 格式化: <div>, <br>, <strong>, <em>
  • 表格: <table>, <tr>, <td>

结构标签 (Structure Tags)

  • <html>: 定义HTML文档的根元素 (root element),所有其他元素必须是此元素的后代
  • <head>: 包含文档的元数据 (metadata),如标题、样式表链接、脚本等,不在页面上显示
  • <body>: 包含文档的所有可见内容 (visible content),如文本、图像、链接等

文本标签 (Text Tags)

  • <h1><h6>: 定义六个级别的标题 (headings),<h1>最重要,<h6>最不重要
  • <p>: 定义段落 (paragraph),浏览器会在段落前后自动添加空行
  • <span>: 内联元素 (inline element),用于样式化文本的一部分,不会产生换行

列表标签 (List Tags)

  • <ul>: 无序列表 (unordered list),项目用项目符号标记
  • <ol>: 有序列表 (ordered list),项目用数字或字母标记
  • <li>: 列表项 (list item),用于<ul><ol>内部

链接和图片 (Links and Images)

  • <a>: 创建超链接 (hyperlink),使用href属性指定目标URL
  • <img>: 插入图像 (image),使用src属性指定图像URL,alt属性提供替代文本 (alternative text)

格式化 (Formatting)

  • <div>: 区块级容器元素 (block-level container),用于组织内容,默认在前后创建换行
  • <br>: 创建换行 (line break)
  • <strong>: 表示文本的重要性 (importance),通常以粗体显示
  • <em>: 强调文本 (emphasis),通常以斜体显示

表格 (Tables)

  • <table>: 定义表格 (table)
  • <tr>: 定义表格中的一行 (table row)
  • <td>: 定义表格单元格 (table data/cell)

相关文章:

【Markdown】【HTML】在Markdown中实现康奈尔笔记模式(右侧留白)

文章目录 HTML表格——康奈尔笔记法标签解释<table> 相关标签文本内容标签注释标签 最低限度应了解的HTML标签 (Essential HTML Tags)结构标签 (Structure Tags)文本标签 (Text Tags)列表标签 (List Tags)链接和图片 (Links and Images)格式化 (Formatting)表格 (Tables)…...

Go语言中的Context

目录 Go语言中的Context 1. Context的基本概念 1.1 Context的核心作用 2. Context的基本用法 2.1 创建Context 背景Context 可取消的Context 带有超时的Context 2.2 在Goroutine间传递Context 2.3 获取Context的值 为Context添加自定义数据 访问Context中的值 3. C…...

基于Python的图片/签名转CAD小工具开发方案

基于Python的图片/签名转CAD工具开发方案 一、项目背景 传统设计流程中&#xff0c;设计师常常需要将手写签名或扫描图纸转换为CAD格式。本文介绍如何利用Python快速开发图像矢量化工具&#xff0c;实现&#xff1a; &#x1f4f7; 图像自动预处理✏️ 轮廓精确提取⚙️ 参数…...

uniapp微信小程序:WIFI设备配网之TCP/UDP开发AP配网

一、AP配网技术原理 1.1 配网模式选择 AP配网&#xff08;SoftAP模式&#xff09;是IoT设备配网成功率最高的方案之一 1、其核心原理&#xff1a; ​​设备端​​&#xff1a;启动AP模式&#xff08;如SSID格式YC3000_XXXX&#xff0c;默认IP192.168.4.1&#xff09;​​手…...

docker部署seata

seata版本&#xff1a;2.0.0 使用eureka作为注册中心&#xff0c;mysql作为存储 拉取镜像 docker pull seataio/seata-server:2.0.0mysql建表语句 可从 github下载sql脚本 -- seata_server.branch_table definition CREATE TABLE branch_table (branch_id bigint NOT NULL,…...

JVM 内存分布详解

/*** 示例类&#xff0c;展示各种成员在JVM中的存储位置*/ public class MemoryDistributionExample {// 1. 实例变量&#xff08;普通成员变量&#xff09; - 存储在堆内存的对象实例中private int instanceVar 10;private String instanceRef "Instance Reference&quo…...

AR行业应用案例与NXP架构的结合

1. 工业巡检AR头盔 场景示例&#xff1a;宁德核电基地使用AR智能头盔进行设备巡检&#xff0c;通过实时数据叠加和远程指导&#xff0c;将工作效率提升35%。头盔需处理传感器数据、图像渲染和低延迟通信1。 NXP架构支持&#xff1a; 协处理器角色&#xff1a;NXP i.MX RT系列M…...

OpenCV 图形API(49)颜色空间转换-----将 NV12 格式的图像数据转换为 BGR 颜色空间函数NV12toBGR()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 将图像从NV12&#xff08;YUV420p&#xff09;颜色空间转换为BGR。 该函数将输入图像从NV12颜色空间转换为RGB。Y、U和V通道值的常规范围是0到25…...

Transformer中Post-Norm和Pre-Norm如何选择?

pre-norm: x n 1 x n f ( n o r m ( x n ) ) x_{n1}x_nf(norm(x_n)) xn1​xn​f(norm(xn​)) 其中第二项的方差由于有 norm 是不随层数变化的&#xff0c;于是 x 的方差会在主干上随层数积累。到了深层以后&#xff0c;单层对主干的影响可以视为小量&#xff0c;而不同层的 …...

jvm-描述符与特征签名的区别

在Java虚拟机&#xff08;JVM&#xff09;中&#xff0c;存储的是方法签名&#xff0c;而不是仅仅方法描述符。方法签名包含了方法的参数类型和返回值类型的信息&#xff0c;而方法描述符通常指的是仅包含参数类型的那部分信息。为了更清晰地理解这两者的区别以及它们如何在JVM…...

JVM有什么调优参数?

-Xms&#xff1a;堆最小值 -Xmx&#xff1a;堆最大值。-Xms与-Xmx 的单位默认字节都是以k、m做单位的。 通常这两个配置参数相等&#xff0c;避免每次空间不足&#xff0c;动态扩容带来的影响。 -Xmn&#xff1a;新生代大小 -Xss&#xff1a;每个线程池的栈大小。在jdk5以上…...

QT:Qt5 串口模块 (QSerialPort) 在 VS2015 中正确关闭串口避免被占用

以下是使用 Qt5 串口模块 (QSerialPort) 在 VS2015 中正确关闭串口避免被占用的完整示例代码&#xff1a; #include <QSerialPort> #include <QDebug>// 创建全局或类成员变量&#xff08;推荐使用智能指针&#xff09; QSerialPort *serialPort nullptr; // 打开…...

14.QT-多元素控件|QListWidget|QTableWidget|QTreeWidget(C++)

Qt中提供的多元素控件有: QListWidgetQListViewQTableWidgetQTableViewQTreeWidgetQTreeView 以QTableWidget和QTableView为例. QTableView是基于MVC设计的控件.QTableView⾃⾝不持有数据.使⽤QTableView的时候需要⽤⼾创建⼀个Model对象(⽐如 QStandardModel ),并且把Model…...

单页面应用的特点,什么是路由,VueRouter的下载,安装和使用,路由的封装抽离,声明式导航的介绍和使用

文章目录 一.什么是单页面应用?二.什么是路由?生活中的路由和Vue中的路由 三.VueRouter(重点)0.引出1.介绍2.下载与使用(5个基本步骤2个核心步骤)2.1 五个基本步骤2.2 两个核心步骤 一.什么是单页面应用? 定义和特点:所有功能都在一个HTML中实现 示例:网易云音乐 多页面应…...

Java并发编程-线程通讯

Java并发编程-线程通讯 线程通讯常见场景实现方法等待通知信号量实现栅栏实现锁机制实现 CountDownLatchCountDownLatch 常用方法说明模拟报表统计场景其他样例 CyclicBarrier 线程通讯 线程通讯指的是多个线程之间通过共享内存或消息传递等方式来协调和同步它们的执行。在多线…...

ubuntu学习day4

4 Linux 文件操作 4.1 基于文件指针的文件操作 Linux 中对目录和设备的操作都是文件操作&#xff0c;文件分为普通文件&#xff0c;目录文件&#xff0c;链接文件和设备文件。普通文件&#xff1a;也称磁盘文件&#xff0c;并且能够进行随机的数据存储(能够自由 seek 定位到某…...

百度暑期实习岗位超3000个,AI相关岗位占比87%,近屿智能携AIGC课程加速人才输出

今年3月&#xff0c;百度重磅发布3000暑期实习岗位&#xff0c;聚焦大模型、机器学习、自动驾驶等AI方向的岗位比例高达87%。此次实习岗位涉及技术研发、产品策划、专业服务、管理支持、政企解决方案等四大类别&#xff0c;覆盖超300个岗位细分方向。值得一提的是&#xff0c;百…...

vin码识别技术-车辆vin识别代码-Java接口集成

快速识别车辆vin码有助于提升汽车保险行业、4s店车辆出入库、二手车交易、车辆租赁公司等众多业务流程的管理。vin码识别接口&#xff0c;为汽车后市场实现车辆vin信息的快速提取提供了高效且可靠的解决方案。基于先进的ocr技术&#xff0c;能够迅速定位图片中的VIN码区域&…...

随机深林算法是分类还是回归?

随机森林算法既可以用于分类也可以用于回归。 一、随机森林用于分类的情况 原理 随机森林是一种集成学习算法&#xff0c;它通过构建多棵决策树来提高预测性能。在分类任务中&#xff0c;每棵决策树都是基于随机选择的特征子集和随机抽样的数据子集&#xff08;通常是通过自助…...

【现代深度学习技术】循环神经网络05:循环神经网络的从零开始实现

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈PyTorch深度学习 ⌋ ⌋ ⌋ 深度学习 (DL, Deep Learning) 特指基于深层神经网络模型和方法的机器学习。它是在统计机器学习、人工神经网络等算法模型基础上&#xff0c;结合当代大数据和大算力的发展而发展出来的。深度学习最重…...

北京大学|第8讲:《生成未必理解:基于扩散模型能否实现视觉世界模型》

导 读INTRODUCTION 随着人工智能技术的飞速发展&#xff0c;AI在图像和视频生成领域取得了显著成就&#xff0c;但生成和理解之间的统一仍然是一个挑战。北京大学深圳研究生院助理教授袁粒的团队正在探索如何实现这一目标&#xff0c;他们的研究可能会改变我们对AI生成和理解能…...

C++如何处理多线程环境下的异常?如何确保资源在异常情况下也能正确释放

多线程编程的基本概念与挑战 多线程编程的核心思想是将程序的执行划分为多个并行运行的线程&#xff0c;每个线程可以独立处理任务&#xff0c;从而充分利用多核处理器的性能优势。在C中&#xff0c;开发者可以通过std::thread创建线程&#xff0c;并使用同步原语如std::mutex、…...

Gmssl实战

最近项目要引入gm算法&#xff0c;实现aes和sm4数据加密&#xff0c;研究了一下两个系统的安装和测试用例 linux&#xff0c;从github下载GmSSL库&#xff08; https://github.com/guanzhi/GmSSL.git &#xff09;&#xff0c;以下为安装方法。 ## GmSSL库安装编译,需要确认…...

C语言 函数(上)

目录 1.函数的概念 2.库函数 3.自定义函数 4.形参和实参 5.return语句 1.函数的概念 数学中我们其实就见过函数的概念&#xff0c;比如&#xff1a;一次函数y kx b&#xff0c;k和b都是常数&#xff0c;给一个任意的x&#xff0c; 就得到一个y值。 其实在C语言也引入…...

2025.04.20【Lollipop】| Lollipop图绘制命令简介

Customize markers See the different options allowing to customize the marker on top of the stem. Customize stems See the different options allowing to customize the stems. 文章目录 Customize markersCustomize stems Lollipop图简介R语言中的Lollipop图使用ggp…...

多源异构网络安全数据(CAPEC、CPE、CVE、CVSS、CWE、ATTCK、D3FEND)的详细解析,包括其作用、数据内容及相互联系

1. 各数据源的作用与数据内容 数据源核心作用核心数据类型示例CWE&#xff08;Common Weakness Enumeration&#xff09;描述软件/硬件安全弱点的根本原因&#xff08;代码缺陷、逻辑错误&#xff09;弱点分类、描述、修复建议CWE-79&#xff08;跨站脚本漏洞&#xff09;CVE&…...

2025年渗透测试面试题总结-拷打题库10(题目+回答)

网络安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 2025年渗透测试面试题总结-拷打题库10 1. CSRF成因及防御措施 | 非Token防御 2. XSS Worm原理 3. Co…...

(二十九)安卓开发中DataBinding 和 ViewBinding详解

在安卓开发中&#xff0c;DataBinding 和 ViewBinding 是两种非常有用的工具&#xff0c;它们都可以简化视图与代码之间的交互&#xff0c;但它们的目的和功能有所不同。本文将详细讲解它们的定义、区别&#xff0c;并结合代码示例和具体使用场景进行说明。 一、ViewBinding 简…...

【C#】.net core 6.0调用MVC API接口时,提示Unsupported Media Type,状态码415

&#x1f339;欢迎来到《小5讲堂》&#x1f339; &#x1f339;这是《C#》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解。&#x1f339; &#x1f339;温馨提示&#xff1a;博主能力有限&#xff0c;理解水平有限&#xff0c;若有不对之处望指正&#xff01;&#…...

Spark SQL核心解析:大数据时代的结构化处理利器

在大数据处理领域&#xff0c;Spark以其强大的分布式计算能力脱颖而出&#xff0c;而Spark SQL作为Spark生态系统的重要组成部分&#xff0c;为结构化和半结构化数据处理提供了高效便捷的解决方案。它不仅整合了传统SQL的强大查询功能&#xff0c;还深度集成到Spark的计算框架中…...

oracle expdp/impdp 用法详解

oracle expdp/impdp 用法详解 创建逻辑目录&#xff0c;该命令不会在操作系统创建真正的目录&#xff0c;最好以system等管理员创建。 create directory db_bak as d:\test\dump; 查看管理理员目录&#xff08;同时查看操作系统是否存在&#xff0c;因为Oracle并不关心该目录是…...

什么是AI智能音视频?小天互连即时通讯带您体验

信息爆炸的时代&#xff0c;音视频会议与我们的工作形影不离。如何更好的进行音视频互动呢&#xff1f;&#xff0c;小天互连即时通讯深度接入DeepSeek&#xff0c;以AI 技术与大模型的结合将为音视频处理带来更高视频享受&#xff0c;更便捷的操作&#xff0c;更安全的环境&am…...

Qt 概述

目录 1. Qt 背景介绍1.1 什么是 Qt1.2 Qt 的发展史1.3 Qt 支持的平台1.4 Qt 版本1.5 Qt 的优点1.6 Qt 的应用场景1.7 Qt 的成功案例1.8 Qt 的发展前景及就业分析 2. 搭建 Qt 开发环境2.1 Qt 的开发工具概述2.2 Qt SDK 的下载和安装2.2.1 Qt SDK 的下载2.2.2 Qt SDK 的安装 2.3 …...

uniapp-商城-31-shop页面中的 我的订单

前面的章节讲了很多关于页面 布局 的知识。 现在来看看其他栏目&#xff0c;我的订单页面。 1 页面样式图 基本的样式包含shop页面 我的订单 点击我的订单&#xff0c;跳转到订单页面 点击订单的每一条订单&#xff0c;跳转到订单详情 2、创建订单页面 2.1 创建sub页面文件…...

CCF-GESP认证的学习资源与知识点详细指南

CCF-GESP认证的学习资源与知识点详细指南 一、CCF-GESP认证简介 CCF编程能力等级认证&#xff08;GESP&#xff09;是由中国计算机学会&#xff08;CCF&#xff09;主办的青少年编程能力认证考试&#xff0c;旨在提升青少年的计算机和编程教育水平&#xff0c;推广编程教育。G…...

使用SystemWeaver生成SOME/IP ETS ARXML的完整实战指南

使用SystemWeaver生成SOME/IP ETS ARXML的完整实战指南 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;可以分享一下给大家。点击跳转到网站。 https://www.captainbed.cn/ccc 一、SystemWeaver与SOME/IP基础认知 1.1 SystemWe…...

Docker概念详解

文章目录 一、Docker&#xff1a;容器化应用的基石1.1 环境1.2 Docker 是什么1.3 Docker镜像1.3.1 基础镜像(Base Image)1.3.2 Dockerfile1.3.3 容器镜像&#xff08;Container Image&#xff09; 1.4 Registry1.5 容器1.6 Docker VS 虚拟机 二、Docker 的架构原理2.1 C/S软件架…...

CentOS7安装MySQL教程

一、准备阶段 1、更新系统软件包 首先&#xff0c;要确保系统已安装的软件包是最新版本&#xff0c;在终端执行以下命令&#xff1a; sudo yum update -y 2、添加 MySQL 官方 Yum 仓库 下载仓库配置文件&#xff08;包含GPG公钥&#xff09;&#xff1a;执行以下命令下载 My…...

把dll模块注入到游戏进程的方法_远线程注入

一. 概述 远线程注入是指为要注入的目标进程创建一个远程线程,在远程线程里面加载要注入的目标dll。Windows操作系统提供了跨进程的内存读写机制,这就为各种注入打下了基础。 二. 用到的Windows API函数 创建远程线程的API是CreateRemoteThread,查找msdn,其函数原型如下…...

实践项目开发-hbmV4V20250407-React+Taro多端项目依赖冲突解决方案

ReactTaro多端项目依赖冲突解决方案 问题背景 在开发基于ReactTaro的多端项目时&#xff0c;经常会遇到各种依赖版本冲突问题&#xff0c;特别是当项目同时需要支持小程序、H5和React Native时。本文记录了一个实际项目中遇到的依赖冲突问题及完整解决方案。 环境信息 项目…...

黑苹果win10和macOS双系统

问题&#xff1a;win10系统更新导致原有clover引导损坏&#xff0c;无法通过clover引导进入双系统&#xff0c;每次只能进入win10。 解决办法&#xff1a;使用EasyUEFI管理EFI启动项&#xff0c;将macOS启动项移动至最前&#xff0c;如果没效果还是每次启动都进win10&#xff…...

机器学习-08-推荐算法-案例

总结 本系列是机器学习课程的系列课程&#xff0c;主要介绍机器学习中关联规则 参考 机器学习&#xff08;三&#xff09;&#xff1a;Apriori算法&#xff08;算法精讲&#xff09; Apriori 算法 理论 重点 MovieLens:一个常用的电影推荐系统领域的数据集 23张图&#x…...

数据结构——栈和队列

目录 1.栈&#xff08;stack&#xff09; 1.1 模拟实现 1.1.1 定义栈 1.1.2 初始化栈 1.1.3 销毁栈 ​编辑 1.1.4 入栈----栈顶 ​编辑 1.1.5 判栈空 1.1.6 出栈——栈顶 ​编辑 1.1.7 取栈顶数据 ​编辑 1.1.8 取栈的有效数据个数 ​编辑 2.队列&#xff08;…...

负载均衡与实时调度—LSF

文章目录 一、什么是LSF二、常用LSF作业命令2.1、提交作业-bsub2.2、查询作业-bjobs2.3、杀死作业-bkill2.4、查询队列-bqueues一、什么是LSF LSF(Load Sharing Facility),负载均衡设施,是一款分布式系统资源管理工具,LSF通过需求收集、分析负载、实时调度,使用户充分共享…...

[预备知识]2. PyTorch基本操作

PyTorch基本操作 本章节介绍 PyTorch 的基本操作&#xff0c;包括张量创建、数学运算和常用函数的使用方法。 1. 张量操作 1.1 张量创建 张量是PyTorch的核心数据结构&#xff0c;可表示为&#xff1a; 标量&#xff1a; x ∈ R x \in \mathbb{R} x∈R向量&#xff1a; x …...

音视频学习(三十五):aud

概念 AUD&#xff08;Access Unit Delimiter&#xff09;访问单元分隔符 AUD 是在视频编码&#xff08;特别是 H.264/AVC&#xff09;中定义的一种 NALU&#xff08;网络抽象层单元&#xff09; 类型&#xff0c;用于指示视频流中一帧&#xff08;访问单元&#xff09;的边界。…...

【Unity笔记】Unity音视频播放监听器封装笔记:VideoPlayer + AudioSource事件触发与编辑器扩展

关键点 Unity VideoPlayer 播放结束事件Unity AudioSource 播放检测 Unity音视频播放监听器封装笔记&#xff1a;VideoPlayer AudioSource事件触发与编辑器扩展 在 Unity 的多媒体开发中&#xff0c;我们经常需要监听 VideoPlayer 或 AudioSource 的播放状态&#xff0c;以便…...

使用有界线程池结合信号量限制任务提交速率

以下是使用 BoundedExecutor&#xff08;有界线程池&#xff09;结合信号量&#xff08;Semaphore&#xff09; 限制任务提交速率的完整代码实现&#xff0c;避免无界队列导致内存溢出&#xff1a; 代码实现 import java.util.concurrent.*;public class BoundedExecutorWithS…...

大数据学习(109)-Impala 和 Hive 之间的 SQL 差异

&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4dd;支持一…...

STM32F103_HAL库+寄存器学习笔记19 - CAN发送中断+CAN接收中断+接收所有CAN报文+ringbuffer数据结构

导言 完成本章节的学习后&#xff0c;CAN驱动代码已经具备实战项目的大部分功能&#xff0c;完全可以在工作上使用&#xff1a; CAN发送有串行与中断方式&#xff0c;且三个发送邮箱都使用了;CAN接收用FIFO1的三个邮箱与高效的数据结构ringbuffer。另外&#xff0c;还有接收FI…...