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