错误处理(基于ESP-IDF)

发布时间:2024年01月15日

主要参考资料
B站Up主孤独的二进制《错误处理 - 乐鑫 ESP32 物联网开发框架 ESP-IDF 开发入门》
ESP-IDF编程指南>API指南>错误消息: https://docs.espressif.com/projects/esp-idf/zh_CN/v5.1/esp32s3/api-guides/error-handling.html
ESP-IDF编程指南>API指南>严重错误: https://docs.espressif.com/projects/esp-idf/zh_CN/v5.1/esp32s3/api-guides/fatal-errors.html

概述

在这里插入图片描述

可恢复错误

上面有说,比如错误码就是ESP-IDF里的esp_err_t类型,使用 if 判断可以打印出来。
在这里插入图片描述
当然,错误码看起来不直观,ESP-IDF还提供了API可以转换为具体的错误消息,它在esp_err.c中有定义。

在这里插入图片描述

不可恢复错误

不可恢复错误的第二类和第三类属于底层代码,一般不需要我们动,它会自己重启处理。
对于可恢复错误里的错误码,可以使用断言(assert)处理,只是在ESP-IDF中有专有的断言API。

有如下几种:
在这里插入图片描述

以ESP_ERROR_CHECK为例,非ESP_OK就会导致重启和打印。
在这里插入图片描述

打印信息如下:
在这里插入图片描述

另一个在ESP-IDF源码中比较常见的是goto语句
在这里插入图片描述

文章来源:https://blog.csdn.net/qq_40773212/article/details/135591273
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。