ESP32那些事儿(五):瑞士军刀之ESP32的常用API分析

本文介绍ESP32开发中常用的API,如ESP_LOG系列用于日志记录,可根据项目阶段调整日志级别;vTaskDelay实现任务延时,需在FreeRTOSConfig.h中设置;xTaskCreate用于创建新任务,参数包括任务函数、名称、堆栈深度等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

事实上,所有在esp32上用到的api在esp-idf中都能找到,但是对于我们来讲这是一个大而全的API参考指南,在项目的初期,我们没有必要花费太多的时间详细的阅读每一个API的使用,挑一些常用的API进行学习,而后再根据使用情况来查询参考文档,这样才能达到事半功倍的效果,那么这里就罗列一些常用的API吧:

1、ESP_LOG
    我们写程序最本能的就是关键的步骤都要打一些日志到串口终端,这样可以看到执行情况。
    1)、在ESP的项目中请使用LOG API打印,不用用printf等裸api,这样可以在项目的不同阶段可以通过统一设置来打开关闭特定级别的LOG;
    2)、打印LOG的时候请确定好要使用的级别,是只是Debug信息还是错误信息等,因为有些级别的LOG在项目后期时需要关闭的。

    ESP_LOGE - 错误日志 (最低)
    ESP_LOGW - 警告日志
    ESP_LOGI - 信息级别的日志
    ESP_LOGD - 用于调试的日志
    ESP_LOGV - 仅仅用于提示的日志{最高)

2、vTaskDelay
    void vTaskDelay( portTickTypexTicksToDelay )
    调用vTaskDelay()函数后,任务会进入阻塞状态,持续时间由vTaskDelay()函数的参数xTicksToDelay指定,单位是系统节拍时钟周期。常量portTICK_RATE_MS 用来辅助计算真实时间,此值是系统节拍时钟中断的周期,单位是毫秒。在文件FreeRTOSConfig.h中,宏INCLUDE_vTaskDelay 必须设置成1,此函数才能有效。

3、xTaskCreate
xTaskCreate( pdTASK_CODE pvTaskCode, const portCHAR * const pcName, unsigned portSHORT usStackDepth, void *pvParameters, unsigned portBASE_TYPE uxPriority, xTaskHandle *pvCreatedTask
     创建新的任务并添加到任务队列中,准备运行
参数如下:
pvTaskCode
指向任务的入口函数. 任务必须执行并且永不返回 (即:无限循环).
pcName
描述任务的名字。主要便于调试。最大长度由configMAX_TASK_NAME_LEN.定义
usStackDepth
指定任务堆栈的大小 ,堆栈能保护变量的数目- 不是字节数. 例如,如果堆栈为16位宽度,usStackDepth定义为 100, 200 字节,这些将分配给堆栈。堆栈嵌套深度(堆栈宽度)不能超多最大值——包含了size_t类型的变量
pvParameters
指针用于作为一个参数传向创建的任务
uxPriority
任务运行时的优先级( 0 : 优先级最低)
pvCreatedTask
用于传递一个处理——引用创建的任务
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值