<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wlcwjy的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wlcwjy</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wlcwjy]]></copyright><item><title><![CDATA[Ardunino安装esp32 by Esprssif systems]]></title><link>https://blog.youkuaiyun.com/wlcwjy/article/details/169920522</link><guid>https://blog.youkuaiyun.com/wlcwjy/article/details/169920522</guid><author>wlcwjy</author><pubDate>Tue, 03 Nov 2026 09:05:12 +0800</pubDate><description><![CDATA[本文介绍了在Arduino IDE中安装ESP32开发环境的两种方法：通过官方与社区镜像源自动安装，以及手动下载所需库文件并部署至指定目录。针对下载失败情况，提供了详细的文件下载链接及安装步骤，并强调版本适配的重要性。作者鼓励学习者重视实践过程，积累知识，欢迎交流指正。]]></description><category></category></item><item><title><![CDATA[RV-C协议学习笔记(6)----Acknowledgment应答]]></title><link>https://blog.youkuaiyun.com/wlcwjy/article/details/169822938</link><guid>https://blog.youkuaiyun.com/wlcwjy/article/details/169822938</guid><author>wlcwjy</author><pubDate>Mon, 02 Nov 2026 09:49:56 +0800</pubDate><description><![CDATA[本文详解RV-C协议中Acknowledgment应答帧的作用与机制，指出其核心功能是确认指令是否被成功接收与执行。根据协议规定，三种情形必须发送ACK/NAK：点对点请求被拒、指令型DGN要求应答、指定实例指令被拒绝。应答报文（DGN=E800h）为点对点传输，包含应答码（0x00为ACK，非0为NAK）、实例号、源地址及被应答的DGN。错误码范围128-250可自定义，用于精准描述失败原因。旧设备可能广播应答，解析时需兼容。总结强调应答机制虽小，却是通信可靠性关键。]]></description><category></category></item><item><title><![CDATA[RV-C协议学习笔记(5)----Information request 信息请求]]></title><link>https://blog.youkuaiyun.com/wlcwjy/article/details/169559838</link><guid>https://blog.youkuaiyun.com/wlcwjy/article/details/169559838</guid><author>wlcwjy</author><pubDate>Fri, 30 Oct 2026 16:35:23 +0800</pubDate><description><![CDATA[RV-C协议中的Information Request机制允许节点主动请求特定数据，通过DGN=EA00h的报文触发，支持全局或指定地址（SA）请求。其8字节格式包含目标DGN、实例号及扩展字段，用于精准获取设备状态。协议禁止滥用全局请求，严禁请求PRODUCT_ID、ADDRESS_CLAIM等专用信息，且所有报文必须为8字节对齐。接收方可忽略实例号以兼容旧设备，确保灵活性与稳定性。该机制是实现总线设备即时响应与状态查询的关键手段。]]></description><category></category></item><item><title><![CDATA[RV-C协议学习笔记(4)----ADDRESS CLAIM补充与拓展]]></title><link>https://blog.youkuaiyun.com/wlcwjy/article/details/169240853</link><guid>https://blog.youkuaiyun.com/wlcwjy/article/details/169240853</guid><author>wlcwjy</author><pubDate>Tue, 27 Oct 2026 09:40:37 +0800</pubDate><description><![CDATA[本文详解RV-C协议中ADDRESS CLAIM字段的结构与应用，以动态逆变器为例解析其8字节数据组成，纠正序列号与厂商码的字节分配错误。重点探讨地址仲裁机制：高优先级设备可强制低优先级设备放弃当前地址并重新申请，体现“强者生存”原则；反之，高优先级设备在申请过程中若遇冲突，可直接保留并宣告地址。此外，介绍厂商特定查询功能，实现精准设备识别，避免总线拥塞。内容为个人学习笔记，欢迎交流指正。]]></description><category></category></item><item><title><![CDATA[RV-C协议学习笔记(3)----ADDRESS CLAIM地址分配]]></title><link>https://blog.youkuaiyun.com/wlcwjy/article/details/169152889</link><guid>https://blog.youkuaiyun.com/wlcwjy/article/details/169152889</guid><author>wlcwjy</author><pubDate>Mon, 26 Oct 2026 12:03:06 +0800</pubDate><description><![CDATA[RV-C协议中，Address Claim机制确保每个节点拥有唯一源地址（SA），防止通信冲突。动态节点通过发送地址请求报文（EA00h）申请地址，若无冲突则以地址声明报文（EE00h）宣告占有。该过程依赖8字节的ADDRESS_CLAIM字段进行仲裁：静态节点（AAC=0）优先级最高；动态节点间按大端序64位值比较，数值大者胜出，主要依据制造商码（高位）和序列号。节点应从推荐范围高端开始申请，避免冲突。]]></description><category></category></item><item><title><![CDATA[RV-C协议学习笔记(2)----instance(实例)解析]]></title><link>https://blog.youkuaiyun.com/wlcwjy/article/details/168862571</link><guid>https://blog.youkuaiyun.com/wlcwjy/article/details/168862571</guid><author>wlcwjy</author><pubDate>Fri, 23 Oct 2026 14:52:51 +0800</pubDate><description><![CDATA[说说RV-C协议中的Instance概念以及各种使用中的疑问以及个人的见解.]]></description><category></category></item><item><title><![CDATA[RV-C协议学习笔记(1)----序言&CAN ID 解析]]></title><link>https://blog.youkuaiyun.com/wlcwjy/article/details/168761954</link><guid>https://blog.youkuaiyun.com/wlcwjy/article/details/168761954</guid><author>wlcwjy</author><pubDate>Thu, 22 Oct 2026 13:42:43 +0800</pubDate><description><![CDATA[最近在开发RV-C 协议相关的产品,网上检索关于RV-C协议的内容相对较少,只能自己摸索.这里写一些自己理解协议的笔记,便于开发中随时回溯,也方便与需要使用这个协议的朋友互相学习探讨.]]></description><category></category></item><item><title><![CDATA[Windows系统下QT添加MQTT模块]]></title><link>https://blog.youkuaiyun.com/wlcwjy/article/details/142258460</link><guid>https://blog.youkuaiyun.com/wlcwjy/article/details/142258460</guid><author>wlcwjy</author><pubDate>Sat, 14 Sep 2024 14:50:35 +0800</pubDate><description><![CDATA[目前做的QT上位机需要添加一个MQTT通讯，但是QT并没有自带MQTT功能模块，因此需要下载第三方的QT模块并移植到QT的编译器上。]]></description><category></category></item><item><title><![CDATA[使用VS Code进行嵌入式开发之pyocd手动安装pack]]></title><link>https://blog.youkuaiyun.com/wlcwjy/article/details/139484422</link><guid>https://blog.youkuaiyun.com/wlcwjy/article/details/139484422</guid><author>wlcwjy</author><pubDate>Wed, 05 Jun 2024 23:14:14 +0800</pubDate><description><![CDATA[由于工作的原因目前开始逐步使用VS code进行嵌入式开发，嵌入式的开发自然少不了程序的在线调试与仿真，目前对应ARM系列的芯片使用的工具为DAP-LINK，在VS Code中使用pyocd进行连接调试。但是在pyocd官方支持的单片机型号往往不包含一些不怎么常用的单片机，所以需要手动的安装一下对应单片机的pack文件，以便使用更多的单片机型号,特别是国产的单片机。]]></description><category></category></item><item><title><![CDATA[QT升级6.0以上版本遇到问题以及解决方法]]></title><link>https://blog.youkuaiyun.com/wlcwjy/article/details/128182483</link><guid>https://blog.youkuaiyun.com/wlcwjy/article/details/128182483</guid><author>wlcwjy</author><pubDate>Mon, 05 Dec 2022 10:31:27 +0800</pubDate><description><![CDATA[最近重装QT的时候发现QT已经升级到了6.0以上的新版本。既然是重装，那就跟进新的更新。更新新的QT后以前的旧版本建立的工程，自然会出现兼容性的问题，本文就把在后续各个QT工程在QT6.0版本下遇到的问题已经解决办法记录下来，以便在其他工程遇到同样的问题可以查询快速解决问题。]]></description><category></category></item><item><title><![CDATA[STM32 BOOT与APP程序跳转实现以及注意问题]]></title><link>https://blog.youkuaiyun.com/wlcwjy/article/details/112373760</link><guid>https://blog.youkuaiyun.com/wlcwjy/article/details/112373760</guid><author>wlcwjy</author><pubDate>Fri, 08 Jan 2021 17:29:13 +0800</pubDate><description><![CDATA[STM32 BOOT与APP程序跳转实现以及注意问题
文章目录STM32 BOOT与APP程序跳转实现以及注意问题前言BOOT跳转APP的实现APP跳转到BOOT实现发现问题分析问题BOOT与APP的公用的内存段互相影响后续
前言
   最近使用STM32单片机烧录器的时候需要实现BOOT与APP之间程序跳转，便于通过BOOT更新APP的程序。遇到奇怪的问题，这里记录下问题以及问题原因分析过程，随便把BOOT与APP之间程序跳转的关键点列出来。
BOOT跳转APP的实现
  &nbsp;这个BOOT与APP]]></description><category></category></item><item><title><![CDATA[STM32 USB endpoint 地址设置说明]]></title><link>https://blog.youkuaiyun.com/wlcwjy/article/details/110222891</link><guid>https://blog.youkuaiyun.com/wlcwjy/article/details/110222891</guid><author>wlcwjy</author><pubDate>Fri, 27 Nov 2020 10:43:25 +0800</pubDate><description><![CDATA[STM32 USB endpoint 地址设置说明
文章目录STM32 USB endpoint 地址设置说明前言疑问分析结论拓展
前言
​		移植STM32  usb功能时发现usb_prop.c文件中usb初始化需要设置usb的endpoint地址，之前使用的时候都是直接使用demo程序，没有细致研究，本次使用STM32的usb是想把与virtual com与Mass storage融合在一起，而这两个应用的endpoint地址不一样，所以了解下具体的设置方法，这里做一个记录。
​		文件主要记录问题提]]></description><category></category></item><item><title><![CDATA[移植U-boot-2012.10到smdk6410（4）-nand启动]]></title><link>https://blog.youkuaiyun.com/wlcwjy/article/details/106850584</link><guid>https://blog.youkuaiyun.com/wlcwjy/article/details/106850584</guid><author>wlcwjy</author><pubDate>Thu, 26 Nov 2020 11:29:03 +0800</pubDate><description><![CDATA[上一个笔记中Uboot从SDRAM启动，已经正常驱动nand flash，这里主要描述uboot的nand启动，其实主要了解nand启动的原理，nand启动的移植也是比较简单，但是由于调试麻烦，nand启动以前一直没有正常，到目前为止才真正实现uboot的nand启动，以下主要说明s3c6410 nand启动的基本原理与移植的过程。

1.当设备选择nand启动，s3c6410后设备会自动拷贝nand前8k的程序到sdram中运行，但是需要注意的是，如果是nand自动拷贝的时候nand读取的时候是按照最大.]]></description><category></category></item><item><title><![CDATA[移植U-boot-2012.10到smdk6410（3）-nand驱动]]></title><link>https://blog.youkuaiyun.com/wlcwjy/article/details/106850508</link><guid>https://blog.youkuaiyun.com/wlcwjy/article/details/106850508</guid><author>wlcwjy</author><pubDate>Thu, 26 Nov 2020 11:28:35 +0800</pubDate><description><![CDATA[上一个笔记中Uboot已经正常的从SDRAM中启动，后续的工作的是给u-boot添加Nand驱动。

1.修改/include/configs/smdk6410.h，填写正确的nand信息。

  /* NAND chip page size */

  #define CONFIG_SYS_NAND_PAGE_SIZE 4096//2048

  /* NAND chip block size */

  #define CONFIG_SYS_NAND_BLOCK_SIZE (512 * ...]]></description><category></category></item><item><title><![CDATA[移植U-boot-2012.10到smdk6410（2）-可以板级SDRAM运行]]></title><link>https://blog.youkuaiyun.com/wlcwjy/article/details/106850276</link><guid>https://blog.youkuaiyun.com/wlcwjy/article/details/106850276</guid><author>wlcwjy</author><pubDate>Thu, 26 Nov 2020 11:28:14 +0800</pubDate><description><![CDATA[上一个笔记已经可以正常编译Uboot了，这里先修改Uboot让其能在SDRAM中运行起来。

1.修改/include/configs/smdk6410.h

  #define CONFIG_S3C6410    1  /* in a SAMSUNG S3C6400 SoC */

  #define CONFIG_SMDK6410   1  /* on a SAMSUNG SMDK6400 Board */ 

  #define CONFIG_SYS_PROMPT ...]]></description><category></category></item><item><title><![CDATA[移植U-boot-2012.10到smdk6410（1）-可以编译]]></title><link>https://blog.youkuaiyun.com/wlcwjy/article/details/106850234</link><guid>https://blog.youkuaiyun.com/wlcwjy/article/details/106850234</guid><author>wlcwjy</author><pubDate>Fri, 19 Jun 2020 09:53:26 +0800</pubDate><description><![CDATA[因为U-boot-2012.10以后的uboot的版本使用了新的架构，已经摒弃了smdk64xx系列的代码，因此使用该版本进行移植。
删除Uboot中多余的代码较少代码量:删除board下的所有文件除了samsung以外;删除arch下所有文件除了arm以外
起始的移植代码主要参照smdk6400的代码。
1.通过参考smdk6400新建的文件目录
拷贝board/samsung/smdk6400 到board/samsung/smdk6410
拷贝nand_spl/board/samsung/smdk64]]></description><category></category></item></channel></rss>