示例成品 · 平台演示,按左边这组点选真跑出来的
示例:STM32 驱动错误码对照表(示意)
错误码 | 含义 | 常见原因 | 排查动作
HAL_OK | 操作成功 | — | 无需处理,确认返回值未被误判
HAL_ERROR | 通用错误 | 外设未初始化或参数非法 | 检查初始化顺序与入参范围,用断点看返回值分支
HAL_BUSY | 外设忙 | 上一笔传输未完成就再次调用 | 加状态判断或等待信号量,避免重入
HAL_TIMEOUT | 操作超时 | 时钟未开、总线挂死、从机无应答 | 确认时钟使能,示波器看总线波形,加超时重试
EINVAL | 参数无效 | 传入空指针或越界长度 | 打印入参,核对缓冲区大小与对齐
ENOMEM | 内存不足 | 堆空间被占满或泄漏 | 看剩余堆大小,检查动态分配释放配对
EBUSY | 设备被占用 | 多任务抢占同一外设 | 加互斥锁,梳理任务优先级
EIO | 底层读写失败 | 连线松动、地址配置错 | 核对从机地址与接线,重读寄存器确认
未分类返回值 | 源码返回负值或无宏覆盖 | 分支遗漏 | 在默认分支加日志,补进本表
说明:以上为示意示例,错误码含义以芯片手册和源码定义为准;结论由持证人员核对后才能用。
点左边「开工 · 直接出成品」,出一份你自己的版本(文字免费)