<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[weixin_46516921的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/weixin_46516921</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; weixin_46516921]]></copyright><item><title><![CDATA[GUI Guder生成的代码移植到VScode模拟器]]></title><link>https://blog.youkuaiyun.com/weixin_46516921/article/details/160239844</link><guid>https://blog.youkuaiyun.com/weixin_46516921/article/details/160239844</guid><author>weixin_46516921</author><pubDate>Fri, 17 Apr 2026 20:49:48 +0800</pubDate><description><![CDATA[本文介绍了LVGL图形界面开发环境的搭建与移植方法。首先指导读者在VSCode中配置LVGL模拟器，并提供了优快云参考教程链接。其次详细说明了如何从NXP官网下载安装GUI Guider工具，强调版本匹配的重要性。在移植部分，文章分三个步骤：1)将GUI Guider生成的文件复制到VSCode工程；2)修改CMakeLists.txt文件以解决头文件路径问题；3)修改main.c文件添加必要的头文件和初始化代码。整个过程注重实际开发中的关键配置点，为LVGL开发者提供了从环境搭建到项目移植的完整指导方案]]></description><category></category></item><item><title><![CDATA[I2S 总线协议介绍]]></title><link>https://blog.youkuaiyun.com/weixin_46516921/article/details/159469961</link><guid>https://blog.youkuaiyun.com/weixin_46516921/article/details/159469961</guid><author>weixin_46516921</author><pubDate>Wed, 25 Mar 2026 17:14:17 +0800</pubDate><description><![CDATA[I2S是飞利浦制定的数字音频传输标准，用于设备间高质量音频数据传输。它采用3线制（BCLK时钟、SD数据线、LRCLK声道切换），支持主从模式，采样率由LRCLK频率决定。I2S定义了数据位宽（样本位数）和位深（有效位数）的概念，并提供标准、左对齐和右对齐三种传输模式。与I2C协议无关，I2S专注于音频数据的格式、时序和控制信号规范。]]></description><category></category></item><item><title><![CDATA[S32DS for S32 Platform PWM输出实践]]></title><link>https://blog.youkuaiyun.com/weixin_46516921/article/details/157397415</link><guid>https://blog.youkuaiyun.com/weixin_46516921/article/details/157397415</guid><author>weixin_46516921</author><pubDate>Wed, 28 Jan 2026 10:40:41 +0800</pubDate><description><![CDATA[本文介绍了S32K144 MCU的PWM配置流程：1)通过Pins工具配置FTM0引脚；2)添加PWM外设组件并修改参数；3)完成时钟、引脚和FTM初始化；4)提供了PWM频率和占空比调整函数。关键代码包括初始化函数FTM_DRV_Init()、频率调整函数PWM_FrequencyChange()和占空比设置函数PWM_DutyCycleChange()，实现了PWM基本功能的配置与控制。]]></description><category></category></item><item><title><![CDATA[S32DS for S32 Platform SPI实践]]></title><link>https://blog.youkuaiyun.com/weixin_46516921/article/details/157253268</link><guid>https://blog.youkuaiyun.com/weixin_46516921/article/details/157253268</guid><author>weixin_46516921</author><pubDate>Mon, 26 Jan 2026 09:36:30 +0800</pubDate><description><![CDATA[本文介绍了S32K144芯片SPI模块的配置与使用流程：1）通过Pins工具配置LPSPI引脚；2）在Peripherals中添加SPI驱动组件并修改配置参数；3）调用LPSPI_DRV_MasterInit函数初始化主设备；4）使用LPSPI_DRV_MasterTransferBlocking实现SPI数据传输。整个过程涵盖了从硬件引脚配置到软件驱动的完整开发步骤，适用于基于S32K144的SPI通信开发。]]></description><category></category></item><item><title><![CDATA[S32DS for S32 Platform RTC输出时间]]></title><link>https://blog.youkuaiyun.com/weixin_46516921/article/details/157216960</link><guid>https://blog.youkuaiyun.com/weixin_46516921/article/details/157216960</guid><author>weixin_46516921</author><pubDate>Thu, 22 Jan 2026 13:56:53 +0800</pubDate><description><![CDATA[本文介绍了在S32项目中配置和使用RTC（实时时钟）模块的完整流程。首先通过配置工具添加RTC组件并设置参数，然后进行初始化操作，包括启动计数器、设置初始时间等。文章详细说明了RTC的中断处理函数实现，包括每秒触发的秒中断和定时报警中断。在main函数中集成了RTC与UART功能，实现了时间获取和串口输出功能。最后提供了完整的RTC程序下载链接。该方案可用于嵌入式系统中的时间管理和定时任务触发。]]></description><category></category></item><item><title><![CDATA[S32DS for S32 Platform UART实践]]></title><link>https://blog.youkuaiyun.com/weixin_46516921/article/details/157215056</link><guid>https://blog.youkuaiyun.com/weixin_46516921/article/details/157215056</guid><author>weixin_46516921</author><pubDate>Wed, 21 Jan 2026 15:53:41 +0800</pubDate><description><![CDATA[本文介绍了S32K144 MCU的UART配置与使用流程。首先通过Pins工具配置LPUART引脚，再添加UART外设组件并设置参数。初始化部分展示了LPUART驱动的初始化和接收回调函数安装。中断回调函数实现了接收数据后立即发送的功能。最后给出了包含时钟初始化、引脚配置和UART数据收发的主函数示例，实现了串口数据的发送与回显功能。整个过程涵盖了从硬件配置到软件实现的完整开发流程。]]></description><category></category></item><item><title><![CDATA[S32DS for S32 Platform GPIO输入中断实践]]></title><link>https://blog.youkuaiyun.com/weixin_46516921/article/details/157179366</link><guid>https://blog.youkuaiyun.com/weixin_46516921/article/details/157179366</guid><author>weixin_46516921</author><pubDate>Tue, 20 Jan 2026 17:19:08 +0800</pubDate><description><![CDATA[本文介绍了S32微控制器GPIO中断配置的实现方法。首先通过Pins工具配置GPIO引脚为输入模式并设置下降沿触发中断，然后通过代码实现中断初始化：1)注册中断处理函数；2)设置中断优先级；3)使能中断。最后展示了中断回调函数的实现，包含两种方式：寄存器方式和SDK函数方式，用于检测特定引脚中断并清除标志位。整个过程涵盖了从硬件配置到软件实现的完整中断处理流程。]]></description><category></category></item><item><title><![CDATA[BLDC六步换相控制]]></title><link>https://blog.youkuaiyun.com/weixin_46516921/article/details/157025549</link><guid>https://blog.youkuaiyun.com/weixin_46516921/article/details/157025549</guid><author>weixin_46516921</author><pubDate>Fri, 16 Jan 2026 16:45:15 +0800</pubDate><description><![CDATA[六步换相控制的本质是，通过绕组形成的磁场，不断吸引转子上的永磁体，使电机转起来。霍尔位置传感器把360°空间（电角度）分为了等间隔的六份，所以绕组能形成六个位置的磁场，所以被称为六步换相；主要用于BLDC（无刷直流电机）的控制。]]></description><category></category></item><item><title><![CDATA[PID控制算法理论]]></title><link>https://blog.youkuaiyun.com/weixin_46516921/article/details/156981691</link><guid>https://blog.youkuaiyun.com/weixin_46516921/article/details/156981691</guid><author>weixin_46516921</author><pubDate>Fri, 16 Jan 2026 11:08:09 +0800</pubDate><description><![CDATA[当执行器（如电机、阀门）达到物理极限（如全开/全关、最大功率）后，控制器仍持续累积误差（积分项），导致积分值远超实际需求。一旦系统进入稳态（误差为零），控制器输出仍维持在极限值附近，造成严重超调、响应迟缓甚至系统失稳。]]></description><category></category></item><item><title><![CDATA[SVPWM理论]]></title><link>https://blog.youkuaiyun.com/weixin_46516921/article/details/156544916</link><guid>https://blog.youkuaiyun.com/weixin_46516921/article/details/156544916</guid><author>weixin_46516921</author><pubDate>Thu, 15 Jan 2026 10:02:35 +0800</pubDate><description><![CDATA[摘要：本文介绍了FOC控制中的两种PWM调制技术——SPWM和SVPWM。SPWM通过调整占空比生成等效正弦波，但存在母线电压利用率低和控制困难的问题。SVPWM利用空间电压矢量原理，通过6种开关状态合成旋转矢量，可获得理想圆形磁链轨迹。详细阐述了SVPWM的实现方法，包括扇区划分、作用时间计算、开关切换顺序和扇区判断算法，其中七段式SVPWM通过优化开关顺序减少损耗。相比SPWM，SVPWM具有更高的电压利用率和更好的控制性能。]]></description><category></category></item><item><title><![CDATA[帕克变换和克拉克变换]]></title><link>https://blog.youkuaiyun.com/weixin_46516921/article/details/155950676</link><guid>https://blog.youkuaiyun.com/weixin_46516921/article/details/155950676</guid><author>weixin_46516921</author><pubDate>Thu, 25 Dec 2025 22:37:45 +0800</pubDate><description><![CDATA[根据模的运算，我们假设Ia相给的电流为1A，结合方程一，为了简化计算，我们假设 B 相和 C 相的电流大小相等（这是三相系统平衡状态的基础），则Ib=Ic=-0.5A，结合矢量模和方程四，我们得到就发现两个矢量不相同，所以对方程四两边同时乘与2/3，就得到了。克拉克变换是一种将三相静止坐标系（a，b，c）中的交流信号转换成两相静止坐标系（α, β）正交信号的坐标变换方法，主要用于简化三相系统的控制与分析，尤其在电机矢量控制（FOC）中实现解耦。矢量 a​ 在矢量 b​ 方向上的标量投影公式为，]]></description><category></category></item><item><title><![CDATA[QT自定义控件（提升法）]]></title><link>https://blog.youkuaiyun.com/weixin_46516921/article/details/150525604</link><guid>https://blog.youkuaiyun.com/weixin_46516921/article/details/150525604</guid><author>weixin_46516921</author><pubDate>Tue, 19 Aug 2025 14:46:31 +0800</pubDate><description><![CDATA[本文介绍了在QT中创建和使用自定义控件的两种方法。首先说明如何通过QT设计界面类创建新控件，包括界面绘制步骤并附有示意图。其次详细讲解了&quot;提升&quot;功能的使用：右键控件选择提升，指定基类和自定义类名后完成提升操作，文中有操作界面截图辅助说明。两种方法都配有直观的图片展示关键步骤，帮助开发者快速掌握QT自定义控件的实现方式。]]></description><category></category></item><item><title><![CDATA[MCU的GPIO 八种模式]]></title><link>https://blog.youkuaiyun.com/weixin_46516921/article/details/145935444</link><guid>https://blog.youkuaiyun.com/weixin_46516921/article/details/145935444</guid><author>weixin_46516921</author><pubDate>Sat, 01 Mar 2025 12:00:08 +0800</pubDate><description><![CDATA[这里要注意N-MOS管，当设置输出的值为高电平的时候，N-MOS管处于截止状态，此时I/O端口的电平就不会由输出的高低电平决定，而是由I/O端口外部的上拉或者下拉决定；当设置输出的值为为高电平时，P-MOS导通，N-MOS截止，此时I/O端口的电平就由P-MOS管决定为高电平；当设置输出的值为低电平的时候，P-MOS管处于截止状态，N-MOS管处于导通状态，此时I/O端口的电平就由N-MOS管决定为低电平，同时IO口输出的电平可以通过输入电路读取，此时I/O端口的电平一定是输出的电平。]]></description><category></category></item><item><title><![CDATA[RS232和RS485通讯标准]]></title><link>https://blog.youkuaiyun.com/weixin_46516921/article/details/145777171</link><guid>https://blog.youkuaiyun.com/weixin_46516921/article/details/145777171</guid><author>weixin_46516921</author><pubDate>Fri, 21 Feb 2025 15:12:40 +0800</pubDate><description><![CDATA[串口通信采用的是TTL电平；TTL电平信号规定，+5V等价于逻辑“1”，0V等价于逻辑“0”(采用二进制来表示数据时)。这样的数据通信及电平规定方式，被称做TTL（晶体管-晶体管逻辑电平）信号系统。RS232接口，这种接口可以实现点对点的通信方式，但这种方式不能实现联网功能，随后出现的RS485解决了这个问题。由图可知，TTL电平标准最小高电平输出为2.4V，最大低电平是0.4V。]]></description><category></category></item><item><title><![CDATA[通讯方式分类]]></title><link>https://blog.youkuaiyun.com/weixin_46516921/article/details/145776057</link><guid>https://blog.youkuaiyun.com/weixin_46516921/article/details/145776057</guid><author>weixin_46516921</author><pubDate>Fri, 21 Feb 2025 14:29:54 +0800</pubDate><description><![CDATA[全双工：允许数据同时在两个方向上传输，因此全双工通信时两个单工通信的结合，它要求发送设备和接收设备都有独立的接收和发送能力。半双工：允许数据在两个方向上传输，但不能同时进行，在某一时刻只允许数据在一个方向上传输，它实际上是一种切换方向的单工通信。串行通信：通常是点对点的通信，通信线路简单，成本低，适合于长距离传送。(3)根据数据通信的方向，通信分为全双工、半双工、及单工通信。根据数据传输的方式不同，可以分为：串行通信和并行通信。异步通信只适用于点对点。根据通信中的数据同步方式：同步通信和异步通信。]]></description><category></category></item><item><title><![CDATA[Linux软链接和硬链接]]></title><link>https://blog.youkuaiyun.com/weixin_46516921/article/details/145756974</link><guid>https://blog.youkuaiyun.com/weixin_46516921/article/details/145756974</guid><author>weixin_46516921</author><pubDate>Thu, 20 Feb 2025 16:43:17 +0800</pubDate><description><![CDATA[它透过文件系统的 inode 来产生新的文件名, 注意不是产生新的文件, 换而言之, 就是一个文件使用了多个别名, 这个别名与源文件名都指向源文件的 inode。可以看成是 Windows 中的快捷方式, 可以让你快速链接到目标文件或目录, 它找到的是原文件名, 通过原文件名再找到真实的数据, 它自身有 inode。inode即是（目录、档案）文件在一个文件系统中的唯一标识，需要访问这个文件的时候必须先找到并读取这个 文件的 inode。]]></description><category></category></item><item><title><![CDATA[Freertos任务调度]]></title><link>https://blog.youkuaiyun.com/weixin_46516921/article/details/145754228</link><guid>https://blog.youkuaiyun.com/weixin_46516921/article/details/145754228</guid><author>weixin_46516921</author><pubDate>Thu, 20 Feb 2025 15:38:42 +0800</pubDate><description><![CDATA[同等优先级任务轮流地享有相同的 CPU 时间(可设置，指的是SysTick中断周期)， 叫时间片，在FreeRTOS中，一个时间片就等于SysTick 中断周期，即相同优先级任务轮转运行的时间为一个时间片，时间片的持续时间可以由中断周期进行设置改变。Freertos第一次运行的任务是最高优先级的ready list最后一个创建的任务，它使用链表来管理任务，使用TICK中断，每隔固定时间，会产生的一个定时器中断，进入中断函数切换任务。的任务，FreeRTOS调度器依次选中相同优先级的任务进入运行态。]]></description><category></category></item><item><title><![CDATA[认识RTOS]]></title><link>https://blog.youkuaiyun.com/weixin_46516921/article/details/145752803</link><guid>https://blog.youkuaiyun.com/weixin_46516921/article/details/145752803</guid><author>weixin_46516921</author><pubDate>Thu, 20 Feb 2025 14:55:14 +0800</pubDate><description><![CDATA[在多任务系统中，根据功能的不同，把整个系统分割成一个个独立的且无法返回的函数，这个函数我们称为任务。系统中的每一任务都有多种运行状态。链表作为 C 语言中一种基础的数据结构，在平时写程序的时候用的并不多，但在操作系统里面使用的非常多。在多任务系统中，根据程序的功能，把这个程序主体分割成一个个独立的，无限循环且不能返回的子程序，称之为任务。外部中断紧急事件在中断里面标记或者响应，中断服务称为前台，main 函数里面的while(1)无限循环称为后台，按顺序处理业务功能，以及中断标记的可执行的事件。]]></description><category></category></item><item><title><![CDATA[STM32MX 配置CANFD收发通讯]]></title><link>https://blog.youkuaiyun.com/weixin_46516921/article/details/144241465</link><guid>https://blog.youkuaiyun.com/weixin_46516921/article/details/144241465</guid><author>weixin_46516921</author><pubDate>Wed, 04 Dec 2024 15:57:39 +0800</pubDate><description><![CDATA[这里我的发送是写在while里面的，实现的功能flag标志位1时，是一个canfd1发送数据，canfd2接收后flag值为2；flag为2时，canfd2发送数据，canfd1接收将flag值等于1。这里设置了ID为0x000，使用CANFD，数据长度64，滤波器在系统初始化完成后就可以进行配置了。CAN时钟频率为40MHZ，预分频器为1，TS1=5,TS2=4。也就是：CAN时钟频率/预分频器/（1+TS1+TS2）所以数据段的频率为40/8/（1+5+4）=500MHZ。]]></description><category></category></item><item><title><![CDATA[S32DS for ARM GPIO实践]]></title><link>https://blog.youkuaiyun.com/weixin_46516921/article/details/143175980</link><guid>https://blog.youkuaiyun.com/weixin_46516921/article/details/143175980</guid><author>weixin_46516921</author><pubDate>Wed, 23 Oct 2024 10:34:32 +0800</pubDate><description><![CDATA[配置GPIO，双击Components界面下的pin_mux，在弹出的界面里面找到GPIO选项卡，找到想要配置的pin，选择输入或者输出。配置完成后，保存后点击这里生成配置代码，生成的代码会在Grenerated_Code文件夹下。pull select field-----------选择上拉还是下拉。initial value field---------- 默认输出状态。pin Mux field- ----------IO复用。lock Field---------锁控制。这个是我的main函数。]]></description><category></category></item></channel></rss>