自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 CAN 偶发丢包排查全思路:从总线层到 MCU 接收侧逐层定位

重点:很多驱动不暴露REC/REC,一定要加这个统计,这是区分“干扰错帧”还是“软件溢出”的黄金指标。小技巧:晃动线束、拍打端子、高低温循环、启停电机,看丢包是否跟着触发,快速定位虚接/干扰。过滤表配错、掩码偏移,某些ID间歇性被过滤(比如扩展帧/标准帧混配)

2026-11-15 04:24:34 171

原创 高速串口偶发丢包排查全攻略:从物理层到软件框架

优先物理层、再驱动/硬件FIFO、最后应用代码;。你之前做高速串口(500k/921600/2M,1024字节帧),大概率是:FIFO溢出、中断被屏蔽、485 DE/RE切换太早、USB转串口驱动缓冲不足、晶振偏差。

2026-11-15 04:17:31 207

原创 CAN 通讯异常排查全流程:从物理层到软件参数

80%故障都在物理层。

2026-11-14 00:21:35 303

原创 COM Port Stress Test 使用指南:串口压力测试、回环自测与高速丢包排查实战

想要看帧对错,要搭配 Serial Port Monitor 抓原始Hex。

2026-11-14 00:20:34 340

原创 FreeRTOS 中断优先级陷阱全解析(Cortex‑M):从 BASEPRI 红线到死机排查

❌ 错误做法:在高优先级中断里想唤醒任务 → 直接崩溃 ✅ 正确做法:高优先级ISR只做最简硬件标记(置一个全局flag/触发一个外部中断),再由一个。(数值更大) 坑:如果用户外设中断优先级设的比PendSV还高,高频中断持续抢占上下文切换,会出现:tick不走、任务卡死、调度停滞、假死。传给 HAL_NVIC_SetPriority,优先级直接变成 0x50 >>4 = 5,看似没问题,但很多人写反、漏移位,边界完全错乱。是全局关所有中断,和FreeRTOS临界区不是一回事,不要混用。

2026-11-13 16:31:09 466

原创 嵌入式固件可靠性常用量化指标

全部是可以代码埋点、后台自动统计的指标,不是主观评价。核心思路:固件可靠 ≠ 功能跑通;重点看。

2026-11-13 15:53:40 377

原创 Flash 扇区损坏检测与坏块管理:A/B OTA 可靠性实践

那样不知道是哪一个扇区挂了;要按扇区粒度定位。

2026-11-05 14:39:01 249

原创 I2C 上拉电阻计算:从公式到选型实战

电阻太小会导致灌电流超标、VOL 抬太高,从机识别不了低电平,甚至损坏 IO。很多人直接沿用老版本 4.7k,但是新版 Cb 变大之后,算出来 Rp_max 已经小于 4.7k,这时老电阻已经超出规格,属于“侥幸能跑,高压 / 温变下必出随机异常”,日志里抓到的那种偶发 SDA 卡死。最小电阻(灌电流上限约束):\(R_{p(min)}=\frac{V_{DD}-V_{OL(max)}}{I_{OL}}\)假设单元格对应关系为:B2=VDD,B3=VOLmax,B4=IOL,B5=tr,B6=Cb。

2026-11-05 14:11:05 339

原创 网线的有关说明

3. 白蓝(备用/PoE)和蓝(备用/PoE):在传统的10/100 Mbps以太网中,这对线通常不用于数据传输,而是作为备用线。4. 白棕(备用/PoE)和棕(备用/PoE):在传统以太网中也不用于数据传输,通常作为备用线。但在1000 Mbps(千兆)以太网中,这四根线(包括白蓝、蓝)会参与数据传输,以支持更高的数据速率。它是差分线对供电,不分正负极,不用区分正负,直接按正常网线接就行。568A标准:绿白、绿、橙白、蓝、蓝白、橙、棕白、棕。568B标准:橙白、橙、绿白、蓝、蓝白、绿、棕白、棕。

2026-02-26 14:58:34 636

原创 版本字段的具体含义

○ 示例:从 `1.5.3` 升级到 `2.0.0`,意味着 2.0 版本不再兼容 1.x 版本的接口/功能。○ 示例:从 `1.0.0` 升级到 `1.0.1`,仅修复了一个登录失败的 bug,功能和接口无变化。○ 示例:版本 `1.0.0` 对应的 buildNumber=4,说明这是该版本的第 4 次构建包。○ 示例:从 `1.0.0` 升级到 `1.1.0`,新增了一个新接口,但原有接口全部可用。● `18`(buildNumber):这是 3.2.5 版本的第 18 次编译构建。

2026-02-08 19:24:25 456

原创 使用C语言封装的CRC(循环冗余校验)库

【代码】使用C语言封装的CRC(循环冗余校验)库。

2025-07-29 08:45:24 286

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除