<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[m0_69078052的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/m0_69078052</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; m0_69078052]]></copyright><item><title><![CDATA[LwIP：轻量级IP]]></title><link>https://blog.youkuaiyun.com/m0_69078052/article/details/168341190</link><guid>https://blog.youkuaiyun.com/m0_69078052/article/details/168341190</guid><author>m0_69078052</author><pubDate>Sun, 18 Oct 2026 19:21:28 +0800</pubDate><description><![CDATA[实现了IP协议、ARP协议（地址解析）和ICMP协议（控制报文）LwIP：轻量级IP。运行环境：支持无操作系统环境、带操作系统环境、多线程或无线程模式。LwIP的作用：帮助ESP32-S3实现与外部网络的通信。1、支持多种安全协议：WPA，WPA2，WEP等。共存模式（STA+AP）：可用同时作为热点和站点。1、仅Station模式（Wifi客户端）2、仅AP模式（Soft-AP/接入点）2、支持扫描接入点（主动扫描&被动扫描）wifi主要有两种模式：STA和AP模式。3、Station/AP共存模式。]]></description><category></category></item><item><title><![CDATA[针对张飞飞胃酸反流症状给出的缓解建议和日常如何改善]]></title><link>https://blog.youkuaiyun.com/m0_69078052/article/details/159546490</link><guid>https://blog.youkuaiyun.com/m0_69078052/article/details/159546490</guid><author>m0_69078052</author><pubDate>Fri, 27 Mar 2026 15:12:31 +0800</pubDate><description><![CDATA[针对胃酸]]></description><category></category></item><item><title><![CDATA[各大AI模型，chatgpt]]></title><link>https://blog.youkuaiyun.com/m0_69078052/article/details/157617311</link><guid>https://blog.youkuaiyun.com/m0_69078052/article/details/157617311</guid><author>m0_69078052</author><pubDate>Tue, 17 Mar 2026 14:10:20 +0800</pubDate><description><![CDATA[Claude：对话和长文档很强，风格稳、谨慎、注重安全Gemini：多模态 + Google 生态一体化，适合和搜索/Docs 配合Copilot：专注「写代码 + 看代码」，和 IDE / GitHub 深度绑定如果你说一下主要想做什么（写代码、写文档、做搜索、做题等），我可以建议优先用哪一个以及怎么组合使用。从你提供的截图来看，这个界面是某个代码编辑器或 AI 编程辅助工具的模型选择列表（可能是 GitHub Copilot 的集成界面，或者是类似功能的平台），但。]]></description><category></category></item><item><title><![CDATA[UART1的DMA发送配置]]></title><link>https://blog.youkuaiyun.com/m0_69078052/article/details/157250575</link><guid>https://blog.youkuaiyun.com/m0_69078052/article/details/157250575</guid><author>m0_69078052</author><pubDate>Mon, 26 Jan 2026 15:16:57 +0800</pubDate><description><![CDATA[通过DMA实现UART1自动发送数据，无需CPU干预。数据从内存直接传输到UART1的发送寄存器，解放CPU去处理其他任务。]]></description><category></category></item><item><title><![CDATA[蓝牙协议栈的各层功能概述]]></title><link>https://blog.youkuaiyun.com/m0_69078052/article/details/157019614</link><guid>https://blog.youkuaiyun.com/m0_69078052/article/details/157019614</guid><author>m0_69078052</author><pubDate>Wed, 21 Jan 2026 13:53:15 +0800</pubDate><description><![CDATA[在BLE（蓝牙低功耗）中，GAP定义了四种主要角色：外围设备（Peripheral）、中央设备（Central）、播报设备（Broadcaster）和观察设备（Observer）。这些角色分别对应了不同的设备功能和通信方式‌。]]></description><category></category></item><item><title><![CDATA[红外遥控器NEC协议]]></title><link>https://blog.youkuaiyun.com/m0_69078052/article/details/156594816</link><guid>https://blog.youkuaiyun.com/m0_69078052/article/details/156594816</guid><author>m0_69078052</author><pubDate>Wed, 07 Jan 2026 10:50:08 +0800</pubDate><description><![CDATA[在TIMER定时器的函数中，若使用的是上篇文章的函数记得要删除NVIC相应的内容。也可直接使用本期附件的函数。若想使用别的引脚作为输入引脚，要记得查询表格改变中断服务函数。下期会更新格力空调遥控器的解码教程。//初始化引脚和中断//获取长摁标志位uint8_t Get_IR_Command(void)//获取命令uint8_t Get_IR_Adress(void)//获取地址//获取解码标志位好的，这是一个红外遥控器解码程序。我来详细解释每个位判断和移位操作，配合具体的数据示例。执行时机。]]></description><category></category></item><item><title><![CDATA[IWDG独立看门狗]]></title><link>https://blog.youkuaiyun.com/m0_69078052/article/details/155675974</link><guid>https://blog.youkuaiyun.com/m0_69078052/article/details/155675974</guid><author>m0_69078052</author><pubDate>Sun, 21 Dec 2025 13:45:43 +0800</pubDate><description><![CDATA[独立看门狗(IWDG)是一种通过递减计数器实现系统复位的机制，其时钟由独立RC振荡器提供。当计数器归零时，系统将复位除特定寄存器外的所有状态。IWDG主要用于检测程序跑飞等异常情况，适用于对稳定性要求高但时间精度要求不严的场合。其通过定期&quot;喂狗&quot;防止误复位，是异常处理的最后保障手段。实际应用中应优先避免异常发生，而非依赖看门狗复位。]]></description><category></category></item><item><title><![CDATA[串口通信，嵌入式系统]]></title><link>https://blog.youkuaiyun.com/m0_69078052/article/details/155672774</link><guid>https://blog.youkuaiyun.com/m0_69078052/article/details/155672774</guid><author>m0_69078052</author><pubDate>Sun, 07 Dec 2025 18:28:42 +0800</pubDate><description><![CDATA[2、异步通信：没有时钟信号，通过在数据信号中 加入起始位和在、停止位等一些同步信号。]]></description><category></category></item><item><title><![CDATA[STM32各时钟的介绍，中断]]></title><link>https://blog.youkuaiyun.com/m0_69078052/article/details/154605073</link><guid>https://blog.youkuaiyun.com/m0_69078052/article/details/154605073</guid><author>m0_69078052</author><pubDate>Sun, 09 Nov 2025 17:11:06 +0800</pubDate><description><![CDATA[正在执行中断程序的时候，这个时候有可能被另外一个中断源给中断，CPU转而去执行另外一个中断源的中断处理程序，这叫中断嵌套。在主程序运行过程中，出现了特定事件，使得CPUY暂停当前正在运行的程序，转而去处理这个事件，等这个事件处理完成之后，CPU再回到刚才被打断的位置继续处理，这就是中断。处理器的中断可以是电平形式的，也可以是脉冲形式的，这个中断控制器就可以处理任何中断源。比如我们要检测按键是否按下，如果没有中断，则需要循环的方式不断的去检测按键对应的IO口的电平，这是比较耗费CPU的时间的，]]></description><category></category></item><item><title><![CDATA[PWM正相输出和PWM反相输出的各是怎样的工作原理]]></title><link>https://blog.youkuaiyun.com/m0_69078052/article/details/151190690</link><guid>https://blog.youkuaiyun.com/m0_69078052/article/details/151190690</guid><author>m0_69078052</author><pubDate>Thu, 04 Sep 2025 17:37:30 +0800</pubDate><description><![CDATA[对于反相输出，需要设置的是低电平时间 = 周期 - 高电平时间 = 20ms - 0.5ms = 19.5ms。对于GPIO_PC4的反相输出特性，需要特别注意：要得到特定占空比的高电平，需要设置的是低电平时间的计数值。工作原理：计数器从0开始递增，当计数器值小于占空比设定值时输出高电平，大于等于占空比设定值时输出低电平。工作原理：计数器从0开始递增，当计数器值小于占空比设定值时输出低电平，大于等于占空比设定值时输出高电平。：由于GPIO_PC4是反相输出，我们需要计算的是低电平时间而不是高电平时间。]]></description><category></category></item><item><title><![CDATA[在新塘SDK下面，有四中文件夹，GCC、IAR、KEIL、和Keil_AC6.这4个工程有什么区别。各自是怎样配置寄存器并实现SPI功能的]]></title><link>https://blog.youkuaiyun.com/m0_69078052/article/details/150762677</link><guid>https://blog.youkuaiyun.com/m0_69078052/article/details/150762677</guid><author>m0_69078052</author><pubDate>Mon, 25 Aug 2025 13:23:08 +0800</pubDate><description><![CDATA[和。]]></description><category></category></item><item><title><![CDATA[8253芯片存储]]></title><link>https://blog.youkuaiyun.com/m0_69078052/article/details/148094481</link><guid>https://blog.youkuaiyun.com/m0_69078052/article/details/148094481</guid><author>m0_69078052</author><pubDate>Wed, 21 May 2025 11:46:32 +0800</pubDate><description><![CDATA[好的，我需要分析用户提供的这个图片中的文本内容，并解释其中各个字段（text、data、bss、dec、hex）代表的程序大小。常见的编译器或链接器在生成可执行文件后，会输出各个段（如text、data、bss）的大小，以及总大小（dec、hex）。另外，用户提到“filename里面那个数据代表了程序的大小”，需要确认是指文件名中的某个部分还是输出行中的某个字段。3. **bss**：未初始化的全局变量和静态变量的数据段，这部分在程序加载时会被初始化为零。4. **dec**：十进制表示的总体积大小。]]></description><category></category></item><item><title><![CDATA[单片机运行的时候，是RAM的大小决定运行代码量还是flash决定或者ROM决定]]></title><link>https://blog.youkuaiyun.com/m0_69078052/article/details/148092665</link><guid>https://blog.youkuaiyun.com/m0_69078052/article/details/148092665</guid><author>m0_69078052</author><pubDate>Tue, 20 May 2025 17:24:21 +0800</pubDate><description><![CDATA[所以，代码本身是存放在Flash或ROM中的，而运行时的临时数据存放在RAM里。但一般来说，对于大多数常见的单片机来说，Flash/ROM存储代码，RAM存储运行时数据，这个原则是通用的。嗯，用户问的是单片机运行时，到底是RAM的大小决定能运行多少代码，还是Flash或者ROM决定的。这时候需要解释，即使代码存储在Flash中，运行时的一些数据结构还是需要RAM，如果RAM不足，程序可能会崩溃或者无法正常执行。代码量主要由Flash或ROM的容量决定，而RAM的大小影响程序运行时的数据处理能力。]]></description><category></category></item><item><title><![CDATA[第一次按下开灯，第二次按下关灯，通过状态机机制实现该功能]]></title><link>https://blog.youkuaiyun.com/m0_69078052/article/details/147312440</link><guid>https://blog.youkuaiyun.com/m0_69078052/article/details/147312440</guid><author>m0_69078052</author><pubDate>Thu, 17 Apr 2025 19:55:27 +0800</pubDate><description><![CDATA[根据实际硬件连接修改LED_PIN和BUTTON_PIN定义。在中断中记录时间戳，通过时间差过滤抖动。实际开发中可结合TLSR芯片的休眠模式。若使用硬件消抖，可适当减小软件去抖时间。按键引脚启用内部上拉，配置下降沿中断。确保SDK中已启用GPIO中断功能。LED引脚设为输出模式并初始置低。在状态转换时直接操作GPIO电平。生产代码建议添加看门狗处理。获取系统时间（单位微秒）按键按下→LED状态翻转。硬件消抖+软件二次验证。清晰的状态机维护逻辑。]]></description><category></category></item><item><title><![CDATA[状态机button按下亮，再次按下灭]]></title><link>https://blog.youkuaiyun.com/m0_69078052/article/details/147277305</link><guid>https://blog.youkuaiyun.com/m0_69078052/article/details/147277305</guid><author>m0_69078052</author><pubDate>Wed, 16 Apr 2025 15:31:00 +0800</pubDate><description><![CDATA[例如，当前的状态函数返回void*，但实际上它们返回的是函数指针，所以类型转换可能存在问题，应该使用正确的函数指针类型。1. 函数指针类型转换：当前State类型定义为typedef void* (*State)(...)，但实际返回的是State类型的函数指针，而void*可能导致类型不匹配，编译器可能会有警告。这是一个典型的状态机实现，通过函数指针实现状态转换，避免了复杂的条件判断，使代码更加清晰和易于扩展。好的，我现在需要分析用户提供的C代码，理解其作用和逻辑，然后考虑如何优化它。]]></description><category></category></item><item><title><![CDATA[小乌龟(TortoiseGit)推送文件到Git：HTTPS与SSH方式是的，小乌龟(TortoiseGit)不仅可以使用HTTPS方式推送文件到Git仓库，也可以使用SSH方式推送。以下是两种方式]]></title><link>https://blog.youkuaiyun.com/m0_69078052/article/details/147249115</link><guid>https://blog.youkuaiyun.com/m0_69078052/article/details/147249115</guid><author>m0_69078052</author><pubDate>Tue, 15 Apr 2025 14:12:13 +0800</pubDate><description><![CDATA[是的，小乌龟(TortoiseGit)不仅可以使用HTTPS方式推送文件到Git仓库，也可以使用SSH方式推送。]]></description><category></category></item><item><title><![CDATA[STM32寄存器结构体详解]]></title><link>https://blog.youkuaiyun.com/m0_69078052/article/details/143824840</link><guid>https://blog.youkuaiyun.com/m0_69078052/article/details/143824840</guid><author>m0_69078052</author><pubDate>Sat, 16 Nov 2024 23:09:03 +0800</pubDate><description><![CDATA[2.#define IOMUXC_GPIO1_IO03_GPIO1_IO03 0x020E0068U, 0x5U, 0x00000000U, 0x0U, 0x020E02F4U 的解释。通过宏定义，使用typedef定义的结构体其指针指向基地址读写寄存器状态，结构体中变量保证与寄存器地址对齐。初始化IO复用为GPIO引脚的代码和下面初始化GPIO的代码就是利用结构体指针控制寄存器。在寄存器结构体中添加寄存器的时候一定要注意地址的连续性，如果地址不连续的话，一、寄存器结构体详解。2、添加寄存器结构体。]]></description><category></category></item><item><title><![CDATA[在单片机中，处于高阻态是什么状态]]></title><link>https://blog.youkuaiyun.com/m0_69078052/article/details/142148431</link><guid>https://blog.youkuaiyun.com/m0_69078052/article/details/142148431</guid><author>m0_69078052</author><pubDate>Wed, 11 Sep 2024 19:42:38 +0800</pubDate><description><![CDATA[高阻态（High-Z State）是一种电气状态，表示引脚不对电路施加电压或电流，类似于断开连接。这使得引脚不会对电路产生影响，同时允许外部电路控制或读取该引脚的状态。高阻态在多路复用、总线驱动和模拟输入等应用中具有重要作用。]]></description><category></category></item><item><title><![CDATA[驱动DW1000的模块，RST]]></title><link>https://blog.youkuaiyun.com/m0_69078052/article/details/142148246</link><guid>https://blog.youkuaiyun.com/m0_69078052/article/details/142148246</guid><author>m0_69078052</author><pubDate>Wed, 11 Sep 2024 19:39:07 +0800</pubDate><description><![CDATA[初始化复位引脚为输出模式，并将其拉低以触发复位。复位完成后，将引脚设置为输入模式，以避免对外部电路产生干扰。程序在复位后等待 2 毫秒，确保 DW1000 芯片能够完成复位并进入稳定状态。这是一种常见的硬件复位处理方式，确保芯片能够在每次启动或重新初始化时处于一个已知的、稳定的状态。]]></description><category></category></item><item><title><![CDATA[GPIO接口的工作原理]]></title><link>https://blog.youkuaiyun.com/m0_69078052/article/details/141991902</link><guid>https://blog.youkuaiyun.com/m0_69078052/article/details/141991902</guid><author>m0_69078052</author><pubDate>Sat, 07 Sep 2024 11:34:18 +0800</pubDate><description><![CDATA[2、开漏输出：只有一个N MOS管，没有外部上拉电阻时。N MOS管导通，输出端口信号被拉低，当N MOS管截止，它的 电阻可以看作是无穷大。采用开漏输出时，要想输出高电平，需要通过外部上拉电阻提供驱动输出。1、推挽输出：需要注意的是采用推挽输出时，驱动能力与芯片的IO电流特性有关。控制gpio的输出类型。2.2数据寄存器：读取gpio的输入数据，读取gpio的输出电平。3、复用推挽输出：控制源来自片上外设。4、复用开漏输出：控制源来自片上外设，比如IIC等。三、开漏输出和推挽输出模式的区别。]]></description><category></category></item></channel></rss>