<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[MelyLenient的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/MelyLenient</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; MelyLenient]]></copyright><item><title><![CDATA[MDK+JLink实现SWOViewer或RTTViewer调试信息]]></title><link>https://blog.youkuaiyun.com/MelyLenient/article/details/158885615</link><guid>https://blog.youkuaiyun.com/MelyLenient/article/details/158885615</guid><author>MelyLenient</author><pubDate>Tue, 10 Mar 2026 15:02:37 +0800</pubDate><description><![CDATA[本文介绍了使用MDK和JLink实现SWOViewer与RTTViewer调试的方法。硬件需支持SWO/RTT的MCU和J-Link调试器，软件需Keil MDK和J-Link驱动。SWO基于ITM，需配置MDK工程和J-Link工具，并提供发送字符的代码示例；RTT通过内存通信，需集成SEGGER库并配置缓冲区。文章对比了两者的性能差异，SWO受引脚速率限制，RTT依赖内存访问，并给出优化建议。最后指出SWO适合低带宽时序分析，RTT适合高吞吐量日志输出。]]></description><category></category></item><item><title><![CDATA[linux 安装开机自启动服务]]></title><link>https://blog.youkuaiyun.com/MelyLenient/article/details/158498445</link><guid>https://blog.youkuaiyun.com/MelyLenient/article/details/158498445</guid><author>MelyLenient</author><pubDate>Sat, 28 Feb 2026 10:52:24 +0800</pubDate><description><![CDATA[本文介绍了Linux系统实现开机自启动服务的两种方法。主要讲解了Systemd方式，包括创建.service服务文件（包含Unit、Service、Install三个配置段）、设置文件权限、启用服务及状态验证的完整流程，并以VMware共享文件夹挂载为例给出了具体实现。同时简要提及了传统的rc.local方法，但指出Systemd是现代Linux发行版的首选方案。文章强调使用Systemd时需注意root权限等关键配置点，为Linux服务自启动提供了实用指导。]]></description><category></category></item><item><title><![CDATA[记IP嵌入式端IP地址合法性校验]]></title><link>https://blog.youkuaiyun.com/MelyLenient/article/details/157806561</link><guid>https://blog.youkuaiyun.com/MelyLenient/article/details/157806561</guid><author>MelyLenient</author><pubDate>Fri, 06 Feb 2026 15:54:37 +0800</pubDate><description><![CDATA[本文介绍了网络地址信息的合法性校验方法，重点分析了p-net协议栈中对子网掩码和IPv4地址的校验实现。对于子网掩码，通过位运算netmask &amp; (~netmask &gt;&gt; 1)快速检测其二进制形式是否为连续的1和0；对于IPv4地址，则通过多重检查排除无效情况，包括网络/广播地址、全零地址、回环地址、多播地址和保留地址等。代码示例展示了如何将IP地址转换为32位无符号整数进行高效验证，为网络通信提供了可靠的防御机制。这些校验方法确保了网络配置的合法性和安全性。]]></description><category></category></item><item><title><![CDATA[VMWare Tools 灰色无法自动安装（二）]]></title><link>https://blog.youkuaiyun.com/MelyLenient/article/details/156978794</link><guid>https://blog.youkuaiyun.com/MelyLenient/article/details/156978794</guid><author>MelyLenient</author><pubDate>Thu, 15 Jan 2026 09:24:16 +0800</pubDate><description><![CDATA[本文提供了VMware Tools安装后共享文件夹无法自动挂载的解决方案。当VMware安装目录缺少linux.so文件时，可从作者提供的资源或官网下载。安装完成后，若共享文件夹未自动挂载，需先在/mnt目录下创建hgfs文件夹，然后执行挂载命令：sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other。注意命令中.host:/与/mnt/hgfs之间的空格。该方案适用于已连接共享文件夹但未自动挂载的情况。]]></description><category></category></item><item><title><![CDATA[32位系统下，2038问题解决]]></title><link>https://blog.youkuaiyun.com/MelyLenient/article/details/155821395</link><guid>https://blog.youkuaiyun.com/MelyLenient/article/details/155821395</guid><author>MelyLenient</author><pubDate>Thu, 11 Dec 2025 16:24:49 +0800</pubDate><description><![CDATA[本文分享了32位系统中解决2038年时间溢出问题的方案。作者在嵌入式开发中遇到时间转换错误，通过分析Unix源码提出了改进方法。核心解决方案是提供了一个替代mktime的函数mktime_u，该函数通过巧妙处理月份（将1-2月调整为上年11-12月）来简化闰年计算，使时间戳计算仅需基本运算即可完成。该方法支持的最大日期为2106年2月7日，有效避免了2038年问题，且无需修改底层系统。代码片段展示了关键月份调整逻辑，通过这种调整确保闰日计算不影响常规日期累加。]]></description><category></category></item><item><title><![CDATA[C语言玩一下标准输出——颜色、闪烁、加粗、下划线属性]]></title><link>https://blog.youkuaiyun.com/MelyLenient/article/details/140697181</link><guid>https://blog.youkuaiyun.com/MelyLenient/article/details/140697181</guid><author>MelyLenient</author><pubDate>Thu, 25 Jul 2024 19:33:03 +0800</pubDate><description><![CDATA[切换更改内容包括：显示方式、字体色、背景色。]]></description><category></category></item><item><title><![CDATA[速判数值奇偶]]></title><link>https://blog.youkuaiyun.com/MelyLenient/article/details/140585477</link><guid>https://blog.youkuaiyun.com/MelyLenient/article/details/140585477</guid><author>MelyLenient</author><pubDate>Sun, 21 Jul 2024 11:33:49 +0800</pubDate><description><![CDATA[从上述规则可知，当数据是偶数是，最低位一定为0。此时：我们知道位与（&）操作只有当两个数的相同位置全都是1才会为1。因此设有数据x，判断x是否为偶数可以令x&0x01.判断结果是否为0即可。计算机中所有的数据可以看作二进制数据。二进制数据满足满二进一的规则。因为0与上任何数的结果都是0，所以被判断的数据必须是大于0的数。]]></description><category></category></item><item><title><![CDATA[如何判断一个数是2的幂]]></title><link>https://blog.youkuaiyun.com/MelyLenient/article/details/140585014</link><guid>https://blog.youkuaiyun.com/MelyLenient/article/details/140585014</guid><author>MelyLenient</author><pubDate>Sun, 21 Jul 2024 11:10:28 +0800</pubDate><description><![CDATA[又因为二进制满二进一，因此，设有一个正整数x，要判断x是否为2的幂，可以令x-1，则x-1的二进制表示应为：0，10，110，1110，11110……此时可以使用右移的方式来计算，并和0x01相与。在计算机系统中，2是一个很特殊的数据。在系统中，使用二进制表示数据。从上述可知：满足2的幂的正整数数据，以二进制表示时，其最高位为1，其余位均为0。因为0与上任何数的结果都是0，所以被判断的数据必须是大于0的数。那么2的幂所表示的数据即：1、2、4、8、16。因此x与x-1具备当x&（x-1）时，结果为0。]]></description><category></category></item><item><title><![CDATA[MATLAB--文件操作相关指令]]></title><link>https://blog.youkuaiyun.com/MelyLenient/article/details/140503305</link><guid>https://blog.youkuaiyun.com/MelyLenient/article/details/140503305</guid><author>MelyLenient</author><pubDate>Wed, 17 Jul 2024 19:42:02 +0800</pubDate><description><![CDATA[记录一下M文件创建、操作、获取信息等相关资料。MATLAB的M文件是用来代替MATLAB命令行窗口输入指令的文件。因此所有的MATLAB指令都可以再MATLAB的M文件中调用.]]></description><category></category></item><item><title><![CDATA[MATLAB——字符串处理]]></title><link>https://blog.youkuaiyun.com/MelyLenient/article/details/140360194</link><guid>https://blog.youkuaiyun.com/MelyLenient/article/details/140360194</guid><author>MelyLenient</author><pubDate>Thu, 11 Jul 2024 19:53:13 +0800</pubDate><description><![CDATA[构造字符串数组时，由两种形式："[]“或”{}“来进行构造。如果使用”[]“构造，则多个字符串长度必须相同。如果使用”{}"来进行构造，则多个字符串长度不同。字符串或字符串数组构造可以通过直接给变量赋值实现。表达式中字符串内容写在单引号内，如果内容包含单引号需要使用两个单引号转义表示。]]></description><category></category></item><item><title><![CDATA[MATLAB——运算符]]></title><link>https://blog.youkuaiyun.com/MelyLenient/article/details/140332033</link><guid>https://blog.youkuaiyun.com/MelyLenient/article/details/140332033</guid><author>MelyLenient</author><pubDate>Wed, 10 Jul 2024 19:42:42 +0800</pubDate><description><![CDATA[关系运算符可以进行数值与数值、数值与数组、数组与数组进行比较。但数值与矩阵进行比较时，以数值为标量，将数组中每个元素与标量进行比较。MATLAB进行运算处理的顺序取决于每个运算符的优先级。在每个优先级中，运算符具有相同的优先级，并从左到右进行处理。MATLAB中算数运算符包括加、减、乘、除、点乘、点除等。除表中三项逻辑运算符外，MATLAB提供了逻辑函数。MATLAB中的运算优先级如下：由高到低排序。)，右除(./)，左除(.)，矩阵的乘法(]]></description><category></category></item><item><title><![CDATA[计算机存储——大小端模式]]></title><link>https://blog.youkuaiyun.com/MelyLenient/article/details/140159487</link><guid>https://blog.youkuaiyun.com/MelyLenient/article/details/140159487</guid><author>MelyLenient</author><pubDate>Wed, 03 Jul 2024 18:50:07 +0800</pubDate><description><![CDATA[多字节传输数据时，由于多个字节表示一个数据，就涉及了这个数据究竟是从前到后排列（低地址到高地址），还是从后到前排列（高地址到低地址）才是对端设备发出的数据呢？将一块连续内存视为一个连续的单字节数组，若一个多字节数据在该块内存中的记录顺序与我们手写一个数的16进制排序一样时就是大端模式，若相反即小端模式。在上述内存中，我们知道0x12在低地址，即Arry[0]；例：传输0x12345678，先传输0x12，在传0x34……其中地址代表Arry[0] ，Arry[1]，Arry[2]，Arry[3]]]></description><category></category></item><item><title><![CDATA[MATLAB--矩阵]]></title><link>https://blog.youkuaiyun.com/MelyLenient/article/details/139968283</link><guid>https://blog.youkuaiyun.com/MelyLenient/article/details/139968283</guid><author>MelyLenient</author><pubDate>Tue, 25 Jun 2024 21:30:43 +0800</pubDate><description><![CDATA[MATLAB作为数学软件计算软件，对于数学运算的性能十分优越，本文作为MATLAB记录关于在MATLAB中关于矩阵的知识。如有错误，还望指正。]]></description><category></category></item><item><title><![CDATA[MATLAB——数组类型（二）]]></title><link>https://blog.youkuaiyun.com/MelyLenient/article/details/139854861</link><guid>https://blog.youkuaiyun.com/MelyLenient/article/details/139854861</guid><author>MelyLenient</author><pubDate>Fri, 21 Jun 2024 11:43:24 +0800</pubDate><description><![CDATA[本章记录一下元胞数组的相关操作。寻访、合并、删除、变形。]]></description><category></category></item><item><title><![CDATA[MATLAB——数组类型]]></title><link>https://blog.youkuaiyun.com/MelyLenient/article/details/139810776</link><guid>https://blog.youkuaiyun.com/MelyLenient/article/details/139810776</guid><author>MelyLenient</author><pubDate>Wed, 19 Jun 2024 19:16:34 +0800</pubDate><description><![CDATA[MATLAB中进行运算的所有类型的数据都是按照数组及矩阵的形式进行存储和运算。数组和矩阵在MATLAB中的基本运算性质不同，数组强调元素对元素的运算，而矩阵则采用线性代数方式进行运算。]]></description><category></category></item><item><title><![CDATA[MATLAB句柄简记]]></title><link>https://blog.youkuaiyun.com/MelyLenient/article/details/139803161</link><guid>https://blog.youkuaiyun.com/MelyLenient/article/details/139803161</guid><author>MelyLenient</author><pubDate>Wed, 19 Jun 2024 15:08:19 +0800</pubDate><description><![CDATA[句柄提供一种间接调用函数的的方法，创建句柄使用操作符。对于MATLAB函数库提供的M文件中函数或者自己创建的程序的内部函数都可以创建句柄。MATLAB平台对于函数调用分为直接调用和间接调用。直接调用即调用子函数。子函数只能被与它所在M文件同名的主函数或者在M文件内的其他函数调用。Function_Handle(0)等于输入了sin（0）返回值为0。一个文件只能有一个主函数。]]></description><category></category></item><item><title><![CDATA[Matlab复数相关]]></title><link>https://blog.youkuaiyun.com/MelyLenient/article/details/139781137</link><guid>https://blog.youkuaiyun.com/MelyLenient/article/details/139781137</guid><author>MelyLenient</author><pubDate>Tue, 18 Jun 2024 19:14:15 +0800</pubDate><description><![CDATA[matlab复数相关函数小计]]></description><category></category></item><item><title><![CDATA[QT打包不依赖环境的运行程序包]]></title><link>https://blog.youkuaiyun.com/MelyLenient/article/details/139739108</link><guid>https://blog.youkuaiyun.com/MelyLenient/article/details/139739108</guid><author>MelyLenient</author><pubDate>Mon, 17 Jun 2024 11:31:03 +0800</pubDate><description><![CDATA[仅以此文记录一下如何使用QT自带工具对个人编写程序进行打包。QT自带打包需要适应QT工具（windeployqt）进行。该工具可在开始菜单或安装目录找到。]]></description><category></category></item><item><title><![CDATA[MatLab中无穷量和非数值量]]></title><link>https://blog.youkuaiyun.com/MelyLenient/article/details/139705022</link><guid>https://blog.youkuaiyun.com/MelyLenient/article/details/139705022</guid><author>MelyLenient</author><pubDate>Sat, 15 Jun 2024 17:02:18 +0800</pubDate><description><![CDATA[MatLab中使用Inf和-Inf表示正无穷量与负无穷量。NaN表示非数值量。Inf与-Inf一般由于运算溢出导致超出双精度浮点数类型能够表示数值范围产生。NaN则是由于非正常运算而产生的。如0/0或者Inf/Inf。]]></description><category></category></item><item><title><![CDATA[编程：单精度浮点型数据与双精度浮点型数据杂谈]]></title><link>https://blog.youkuaiyun.com/MelyLenient/article/details/139703629</link><guid>https://blog.youkuaiyun.com/MelyLenient/article/details/139703629</guid><author>MelyLenient</author><pubDate>Sat, 15 Jun 2024 16:20:57 +0800</pubDate><description><![CDATA[需要注意的是：float:2^23 = 8388608,一共七位,这意味着最多能有7位有效数字,但绝对能保证的为6位,也即float的精度为6~7位有效数字;double:2^52 = 4503599627370496,一共16位,同理,double的精度为15~16位。在编程计算中，浮点型数据的运算常常用到。嵌入式编程中对于数据的传输，一般是扩大N被取整，在应用程序中虽然可以被直接使用，但是我个人常常思考浮点型数据具体在内存中的表现形式。浮点型数据在编程中分为单精度浮点型数据与双精度浮点型数据。]]></description><category></category></item></channel></rss>