<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Thmos_vader的嵌入式学习笔记]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Thmos_vader</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Thmos_vader]]></copyright><item><title><![CDATA[【智芯 20K14xM】 MCU开发-时钟使用详解]]></title><link>https://blog.youkuaiyun.com/Thmos_vader/article/details/149599669</link><guid>https://blog.youkuaiyun.com/Thmos_vader/article/details/149599669</guid><author>Thmos_vader</author><pubDate>Thu, 24 Jul 2025 11:46:13 +0800</pubDate><description><![CDATA[1. 描述 Z20K14xM 的时钟结构分布以及各个外设时钟源的选择。 SCC模块用于选择系统时钟，产生 core clock、 bus clock 和 flash clock，分别用于驱动 core 及高速外设、普通外设和 flash。 PARCC 模块用于单独设置每个外设的功能时钟，通过时钟选通使能或禁用某个外设。  
2. 主 要 介 绍 如 何 使 用Z20K14xM 系列 MCU 的 SPLL（system phase-locked loop） 时钟模块以及在应用开发过程中需要考虑的因素。  ]]></description><category></category></item><item><title><![CDATA[【C语言 结构体联合体】字节对齐与字节大小计算]]></title><link>https://blog.youkuaiyun.com/Thmos_vader/article/details/145117124</link><guid>https://blog.youkuaiyun.com/Thmos_vader/article/details/145117124</guid><author>Thmos_vader</author><pubDate>Mon, 13 Jan 2025 15:39:19 +0800</pubDate><description><![CDATA[✨注意✨无论是结构体还是联合体，先进行字节对齐，然后进行所占字节大小的计算。
结构体字节对齐**通常与最长的成员大小相关，但并非总是直接等于它**，还取决于成员的顺序和编译器的设置。
联合体：大小= 最大成员的大小（加上必要的填充以满足对齐）。对齐单位= 最大成员的对齐要求。]]></description><category></category></item><item><title><![CDATA[【C语言 内存对齐】 结构体字节对齐之`#pragma pack(push) `、`#pragma pack(pop) `和`#pragma pack()`的使用]]></title><link>https://blog.youkuaiyun.com/Thmos_vader/article/details/145057644</link><guid>https://blog.youkuaiyun.com/Thmos_vader/article/details/145057644</guid><author>Thmos_vader</author><pubDate>Fri, 10 Jan 2025 14:30:47 +0800</pubDate><description><![CDATA[#pragma pack(push, n)、#pragma pack(pop) 和 #pragma pack(n) 的功能与用法
这三个指令均用于控制结构体或数据的内存对齐方式，主要目的是优化内存占用或者满足硬件/协议要求。它们之间存在一定的联系，但功能略有区别。]]></description><category></category></item><item><title><![CDATA[【ADAS】高级驾驶辅助系统]]></title><link>https://blog.youkuaiyun.com/Thmos_vader/article/details/144823766</link><guid>https://blog.youkuaiyun.com/Thmos_vader/article/details/144823766</guid><author>Thmos_vader</author><pubDate>Tue, 31 Dec 2024 23:17:03 +0800</pubDate><description><![CDATA[​		ADAS（Advanced Driving Assistance System）高级辅助驾驶系统，是利用安装于车上的各式各样的传感器，在第一时间收集车内外的环境数据，进行静、动态物体的辨识、侦测与追踪等技术上的处理，从而提供信息辅助、预警、辅助控制及便利驾驶的主动安全技术。​		官方的定义其实就很好理解，ADAS这个名词就相当于是个集合，汇集多种辅助驾驶功能。​		大类可将ADAS分成两类:​		第一种: 关于信息辅助的相关功能​        第二种: 关于控制辅助的相关功能。]]></description><category></category></item><item><title><![CDATA[【minicom】Linux串口调试工具 - minicom的安装及使用]]></title><link>https://blog.youkuaiyun.com/Thmos_vader/article/details/144769123</link><guid>https://blog.youkuaiyun.com/Thmos_vader/article/details/144769123</guid><author>Thmos_vader</author><pubDate>Fri, 27 Dec 2024 19:00:00 +0800</pubDate><description><![CDATA[minicom，tkterm都是linux下应用比较广泛的串口软件，这里简单介绍minicom使用。 

电脑基本不配备串行接口，所以，usb转串口成为硬件调试时的必然选择。
目前知道的，PL2303的驱动是有的，在dev下的名称是ttyUSB#。 ]]></description><category></category></item><item><title><![CDATA[【 thefuck 安装与使用】Linux 终端自动纠错工具：一头GitHub上的“草泥马“ - thefuck，妈妈再也不用担心我打错命令行了！]]></title><link>https://blog.youkuaiyun.com/Thmos_vader/article/details/144668524</link><guid>https://blog.youkuaiyun.com/Thmos_vader/article/details/144668524</guid><author>Thmos_vader</author><pubDate>Mon, 23 Dec 2024 15:41:05 +0800</pubDate><description><![CDATA[thefuck 是一个开源的命令行工具，用于自动纠正终端中的错误命令。它通过分析最近执行的命令和错误信息，提供一个或多个可能的正确命令，用户可以选择自动执行或手动确认。]]></description><category></category></item><item><title><![CDATA[【WireShark】网络抓包使用教程 | ‘TCP 三次握手’ 案例分析]]></title><link>https://blog.youkuaiyun.com/Thmos_vader/article/details/144148194</link><guid>https://blog.youkuaiyun.com/Thmos_vader/article/details/144148194</guid><author>Thmos_vader</author><pubDate>Thu, 19 Dec 2024 21:00:09 +0800</pubDate><description><![CDATA[Wireshark是一款非常流行的网络封包分析软件，可以截取各种网络数据包，并显示数据包详细信息。为了安全考虑，wireshark只能查看封包，而不能修改封包的内容，或者发送封包。wireshark能获取HTTP，也能获取HTTPS，但是不能解密HTTPS，所以wireshark看不懂HTTPS中的内容。]]></description><category></category></item><item><title><![CDATA[【图像信号处理】ISP从算法到硬件设计——从CCM到sensor结构]]></title><link>https://blog.youkuaiyun.com/Thmos_vader/article/details/142994665</link><guid>https://blog.youkuaiyun.com/Thmos_vader/article/details/142994665</guid><author>Thmos_vader</author><pubDate>Tue, 03 Dec 2024 08:15:00 +0800</pubDate><description><![CDATA[sensor是摄像头的核心，负责将通过Lens的光信号转换为电信号，再经过内部AD转换为数字信号。sensor是怎么把光转换成电的呢？因为用到了光电二极管。如下图所示：光照到光电二极管上面，光强就转换成了二极管的电流。通过并行的电容存储起来，就转换成了对应的电压。光照越强，照射时间越久，那么电容的电压就越大。某个时候我们把电容两端的电压通过AD转换成数字信号，就可以得到一个电信号的数字化的值了。这只是粗略的介绍了一下电到光的转换。可能不是十分准确。但是基本转换就是这样。]]></description><category></category></item><item><title><![CDATA[【CAN报文数据解析】矩阵信号Intel与Motorola格式（C语言）代码]]></title><link>https://blog.youkuaiyun.com/Thmos_vader/article/details/142892542</link><guid>https://blog.youkuaiyun.com/Thmos_vader/article/details/142892542</guid><author>Thmos_vader</author><pubDate>Sat, 30 Nov 2024 08:30:00 +0800</pubDate><description><![CDATA[安装包及教程移步：
【安装手册】CANdb++ Editor
DBC文件如何看懂，怎么使用？做一个就知道了：
【使用手册】CANdb++Editor：自制一个DBC文件
雅特力AT32 CAN使用入门：
【雅特力AT32 CAN】 MCU CAN入门使用指南（超详细）
can数据收发实战：
【CAN 数据收发实战】上位机ZCANPRO发送+USART打印DBC文件发送的报文信息——以雅特力AT32为例
CAN报文解析：
【DBC报文矩阵分析】读懂.DBC文件报文矩阵，信号矩阵数据解析思路（源码见链接）
【数]]></description><category></category></item><item><title><![CDATA[【QT Designer】DAY1_QT信号分类汇总]]></title><link>https://blog.youkuaiyun.com/Thmos_vader/article/details/144121396</link><guid>https://blog.youkuaiyun.com/Thmos_vader/article/details/144121396</guid><author>Thmos_vader</author><pubDate>Fri, 29 Nov 2024 09:15:00 +0800</pubDate><description><![CDATA[信号可以通过 Qt 的信号槽机制与槽函数相连，处理不同的用户操作、状态变化或定时事件等。在 Qt Designer 中设计 UI 界面时，可以将控件与自定义槽函数关联，从而轻松实现界面与后台逻辑的分离。在 Qt 中，信号和槽是实现对象之间通信的重要机制。不同的控件和对象具有不同的信号，涵盖从用户界面交互到数据模型更新等各个方面。]]></description><category></category></item><item><title><![CDATA[【QT Designer】QT实操中遇到的一些（C++）疑惑点汇总]]></title><link>https://blog.youkuaiyun.com/Thmos_vader/article/details/143957523</link><guid>https://blog.youkuaiyun.com/Thmos_vader/article/details/143957523</guid><author>Thmos_vader</author><pubDate>Thu, 21 Nov 2024 23:34:05 +0800</pubDate><description><![CDATA[使用new：对象是指针类型，成员访问使用->。直接实例化：对象是值类型（直接实例），成员访问使用。->和的选择取决于对象是指针还是实例化的具体对象。直接访问：如果基类成员是public或protected，可直接访问。作用域解析符：通过Base::成员名形式访问同名基类成员。this指针：使用this->Base::成员名可以更显式地标明访问基类成员。枚举（enum）在 C++ 中是一种用户自定义的数据类型，用于定义一组具名的整型常量。它可以使代码更易读、易维护，并能提供更强的类型安全性。]]></description><category></category></item><item><title><![CDATA[【CAN总线协议】CAN和CANFD的区别、CAN FD帧结构解析]]></title><link>https://blog.youkuaiyun.com/Thmos_vader/article/details/143415153</link><guid>https://blog.youkuaiyun.com/Thmos_vader/article/details/143415153</guid><author>Thmos_vader</author><pubDate>Thu, 07 Nov 2024 08:45:00 +0800</pubDate><description><![CDATA[CANFD：可以理解成CAN协议的升级版，只升级了协议，物理层未改变。传输速率不同、数据长度不同、帧格式不同、ID长度不同。CAN​	Controller area network，即控制器区域（局域）网络；CAN总线是国际上应用较广泛的现场总线之一；目前已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线。CAN-FD​	英文为CAN with Flexible Data-Rate，翻译为 “可变速率的CAN”；]]></description><category></category></item><item><title><![CDATA[【位域的定义与实际应用】位域操作打包CAN报文，实现精确控制每个字段（CAN信号）]]></title><link>https://blog.youkuaiyun.com/Thmos_vader/article/details/143491572</link><guid>https://blog.youkuaiyun.com/Thmos_vader/article/details/143491572</guid><author>Thmos_vader</author><pubDate>Mon, 04 Nov 2024 19:05:16 +0800</pubDate><description><![CDATA[位域（bit fields）是结构体中的一种特性，用于精确控制每个字段占用的位数，而不仅仅是字节，它将数据字段分割成多个不同长度的位，而不再局限于字节(8位)单位。位域主要用于节省存储空间，特别适合需要操作二进制数据的小型嵌入式系统或通信协议，比如CAN报文。]]></description><category></category></item><item><title><![CDATA[【单总线协议】数字温湿度传感器DHT11-三种源码例程]]></title><link>https://blog.youkuaiyun.com/Thmos_vader/article/details/143277087</link><guid>https://blog.youkuaiyun.com/Thmos_vader/article/details/143277087</guid><author>Thmos_vader</author><pubDate>Thu, 31 Oct 2024 08:15:00 +0800</pubDate><description><![CDATA[/* 控制GPIO读取DHT11的数据 
 * 1. 主机发出至少18MS的低脉冲: start信号
 * 2. start信号变为高, 20-40us之后, dht11会拉低总线维持80us
      然后拉高80us: 回应信号
 * 3. 之后就是数据, 逐位发送
 *    bit0 : 50us低脉冲, 26-28us高脉冲
 *    bit1 : 50us低脉冲, 70us高脉冲
 * 4. 数据有40bit: 8bit湿度整数数据+8bit湿度小数数据
                  ]]></description><category></category></item><item><title><![CDATA[【两周学完C++】DAY5_面向对象：以代码为主讲解类与对象、析构函数、继承多态、接口与封装等]]></title><link>https://blog.youkuaiyun.com/Thmos_vader/article/details/143268657</link><guid>https://blog.youkuaiyun.com/Thmos_vader/article/details/143268657</guid><author>Thmos_vader</author><pubDate>Mon, 28 Oct 2024 08:45:00 +0800</pubDate><description><![CDATA[C++面向对象：以代码为主讲解类与对象、析构函数、继承多态、接口与封装等.
C++ 通过创建类来支持封装和数据隐藏（public、protected、private数据封装一种把数据和操作数据的函数捆绑在一起的机制；数据抽象一种仅向用户暴露接口而把具体的实现细节隐藏起来的机制（public、protected、private）。]]></description><category></category></item><item><title><![CDATA[【两周学完C++】DAY2_内存分配方式与堆内存管理（new、delete关键字）]]></title><link>https://blog.youkuaiyun.com/Thmos_vader/article/details/143222388</link><guid>https://blog.youkuaiyun.com/Thmos_vader/article/details/143222388</guid><author>Thmos_vader</author><pubDate>Fri, 25 Oct 2024 08:45:00 +0800</pubDate><description><![CDATA[C++ 程序在运行时，计算机内存被分为程序代码区、全局数据区、堆区、栈区四个部分。
本文一是介绍 C++ 三种内存分配方式：静态存储分配、栈内存分配、堆内存分配，二是使用 new 关键字和 delete 关键字管理堆内存。]]></description><category></category></item><item><title><![CDATA[【两周学完C++】DAY1_基本数据类型：命名空间、输入输出、数据类型（struct）]]></title><link>https://blog.youkuaiyun.com/Thmos_vader/article/details/142992075</link><guid>https://blog.youkuaiyun.com/Thmos_vader/article/details/142992075</guid><author>Thmos_vader</author><pubDate>Wed, 23 Oct 2024 08:15:00 +0800</pubDate><description><![CDATA[重点阐述跟C语言区别之处:命名空间、输入输出、数据类型（struct）。
C++ 语言的特点主要表现在两个方面： 全面兼容 C 语言 和 支持面向对象的方法。]]></description><category></category></item><item><title><![CDATA[【以雅特力AT32为例】CAN过滤器及其原理与邮箱配置]]></title><link>https://blog.youkuaiyun.com/Thmos_vader/article/details/143030490</link><guid>https://blog.youkuaiyun.com/Thmos_vader/article/details/143030490</guid><author>Thmos_vader</author><pubDate>Sun, 20 Oct 2024 09:15:00 +0800</pubDate><description><![CDATA[首先，发送者以广播的形式把报文发送给所有的接收者。
	其后，节点在接收报文时，根据 ID 的值决定软件是否需要该报文；
    如果需要，就存到接收 FIFO 里，用户可通过软件读取接收邮箱寄存器获取该报文；
    如不需要，报文就被丢弃且无需软件的干预。]]></description><category></category></item><item><title><![CDATA[【CAN 应用编程】SocketCan实战]]></title><link>https://blog.youkuaiyun.com/Thmos_vader/article/details/143030102</link><guid>https://blog.youkuaiyun.com/Thmos_vader/article/details/143030102</guid><author>Thmos_vader</author><pubDate>Thu, 17 Oct 2024 22:41:13 +0800</pubDate><description><![CDATA[​		由于 Linux 系统将 CAN 设备作为网络设备进行管理，因此在 CAN 总线应用开发方面，Linux 提供了SocketCAN 应用编程接口，使得 CAN 总线通信近似于和以太网的通信，应用程序开发接口更加通用，也更加灵活。
​		SocketCAN 中大部分的数据结构和函数在头文件 linux/can.h 中进行了定义，所以，在我们的应用程序中一定要包含头文件。]]></description><category></category></item><item><title><![CDATA[【CAN 数据收发实战】上位机ZCANPRO发送+USART打印DBC文件发送的报文信息——以雅特力AT32为例]]></title><link>https://blog.youkuaiyun.com/Thmos_vader/article/details/142662267</link><guid>https://blog.youkuaiyun.com/Thmos_vader/article/details/142662267</guid><author>Thmos_vader</author><pubDate>Mon, 14 Oct 2024 08:15:00 +0800</pubDate><description><![CDATA[本文讲述CAN(收发实战附源码)实现的功能如下：
1. ZCANPRO+USART 打印DBC文件发送的报文信息
2. 通过Exint+Button按键中断控制CAN的发送]]></description><category></category></item></channel></rss>