摘要: 一.BUG描述 I3C主机读取I2C从机版本号,过程如下: I3C主机先发送I2C设备地址0x5C, 从机正常响应ACK。 I3C主机发送需要读取寄存器地址0x10(版本号),从机正常响应ACK。 I2C设备开始发送4byte的信息,主机接收完第一个byte 0x29, 没有产生ACK,导致从机发送 阅读全文
posted @ 2025-08-29 14:36 Charles_hui 阅读(83) 评论(0) 推荐(0)
摘要: 一.what is dependency inversion principle( DIP依赖倒置原则 ) DIP 是指高层模块不应该依赖于低层模块,二者都应该依赖于抽象;抽象不应该依赖于细节,细节应该依赖于抽象。 二.DIP的设计准则 高层模块不应该依赖于低层模块:高层模块(如业务逻辑)不应该直接 阅读全文
posted @ 2026-02-23 22:18 Charles_hui 阅读(60) 评论(2) 推荐(0)
摘要: 一. What is ISP(Interface Segregation Princeple) 接口隔离原则,旨在确保接口的设计是专门化和细粒度的。根据ISP,一个类不应该被迫依赖于它不使用的方法或属性。 换句话说:宁愿拆成很多小接口,也不要搞一个超级大的胖接口。 二.ISP错误举例 1.1 串口温 阅读全文
posted @ 2026-02-23 18:17 Charles_hui 阅读(2) 评论(0) 推荐(0)
摘要: 一.what is Liskov Substitution Principle 里氏替换原则是面向对象设计中的五大SOLID原则之一,是开闭原则的重要补充。它规定了子类可以扩展基类的功能,但不能改变基类原有的行为。 二.LSP的设计准则 LSP强调了继承不仅是“is a”的关系,并且行为上必须是“i 阅读全文
posted @ 2026-02-23 18:15 Charles_hui 阅读(6) 评论(0) 推荐(0)
摘要: 一.what is open-close-principle OCP 是指软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。 二.OCP的设计准则 对扩展开放:当需求变化时,我们应该能够通过添加新的代码来满足需求,而不是修改现有的代码。比如添加新的功能、支持新的类型等。 对修改关闭:一旦软件实 阅读全文
posted @ 2026-02-22 19:36 Charles_hui 阅读(9) 评论(0) 推荐(0)
摘要: 一. What is Single Responsibility Principle 相同的功能要高度内聚到一个类(结构体、函数、方法、模块等)中,关系不大的功能要分离开来进行解耦,即类(结构体、函数、方法、模块等)的定义应当高内聚,低耦合。 二. SRP error example 2.1 温度传 阅读全文
posted @ 2026-02-22 19:34 Charles_hui 阅读(1) 评论(0) 推荐(0)
摘要: 一. SOLID原则 SOLID设计原则是面向对象程序设计的建议性原则: S Single Responsibility Principle 一个类应该只有一个引起变化的原因 单一职责原则 O Open-Closed Principle 对扩展开放,对修改关闭 开闭原则 L Liskov Subst 阅读全文
posted @ 2025-12-07 23:32 Charles_hui 阅读(11) 评论(0) 推荐(0)
摘要: 一.SDIO协议简介 SDIO协议三要素:命令(Command),响应(Response)和数据(Data)。 1.1 Command 命令就是一个标记,用于发起一个操作,由HOST发送,DEVICE接收,命令在 CMD 线上是连续传输的,命令的长度为48位。 命令长度固定为 48bit ,由起始位 阅读全文
posted @ 2025-12-01 14:39 Charles_hui 阅读(88) 评论(0) 推荐(0)
摘要: 一.前言 可变参数传参是C语言的一种高级用法。 二. 用法示例 求任意个 int 类型数据的平均值。 点击查看代码 double avg_int(int count, ...) { va_list ap; /* 2. 声明参数列表变量 */ int sum = 0; va_start(ap, cou 阅读全文
posted @ 2025-11-07 22:03 Charles_hui 阅读(28) 评论(0) 推荐(0)
摘要: 一.Preface 理解Freertos的任务调度对理解整个实时操作系统是非常有帮助的,最近抽空又复习了一遍源码,所以在此记录一下。 二.freertos的3各任务链表 2.1ready list(array) a.这是一个链表组,定义了最高优先级为10,则有10个readylist。 b.每隔1个 阅读全文
posted @ 2025-10-13 00:05 Charles_hui 阅读(16) 评论(0) 推荐(0)
摘要: 1.adb环境配置 platform-tool的文件路径需要配置到系统环境变量 配置好以后,打开cmd,输入 adb version 确认。 手机配置为开发者、文件传输模式 运行授权脚本 authorize.bat 点击查看代码 ::@echo off adb root adb remount ad 阅读全文
posted @ 2025-08-29 15:28 Charles_hui 阅读(118) 评论(0) 推荐(0)