上海紫博蓝网站,文昌市住房和城乡建设局网站,wordpress head 优化,中英文网站如何做思路主要参考b站宸芯IOT老师的视频#xff0c;记录自己的笔记#xff0c;老师讲的主要是linux环境#xff0c;但配置过程实在太多问题#xff0c;就直接用windows环境了#xff0c;老师也有讲一些windows的操作#xff0c;只要代码会写#xff0c;操作都还好#xff0c;开发…主要参考b站宸芯IOT老师的视频记录自己的笔记老师讲的主要是linux环境但配置过程实在太多问题就直接用windows环境了老师也有讲一些windows的操作只要代码会写操作都还好开发板用ESP-WROOM-32其实坑还挺多的慢慢来吧。
关于ESP32任务创建乐鑫在freertos的基础上包装了自己的函数接口主要是为了双核并行等功能关于双核可以参照参考文献
有以下几个常用函数
- 首先是任务创建函数xTaskCreatePinnedToCore()
功能和freertos原生的xTaskCreate一样如果在ESP32的SDK调用xTaskCreate也可以xTaskCreate会调用xTaskCreatePinnedToCore并在最后一个函数将核心设为tskNO_AFFINITY双核都可以
这个函数有7个参数分别是
①任务函数指针 ②任务名称本质没有作用输出log时可能用到 ③任务堆栈大小单位是字节最小2048小于2048可能会报错 ④任务参数也就是①的任务函数的参数 ⑤任务优先级configMAX_PRIORITIES的值是25所以优先级最大24 ⑥任务句柄可以通过句柄挂起函数 ⑦分配在哪个内核0或1
- 然后是延时函数vTaskDelay()
参数是延时的节拍数这个函数是阻塞型延时并且不一定在节拍数到达时立刻解除阻塞还要看系统的调度精确延时函数是vTaskDelayUntil()要求不高就用这个普通延时pdMS_TO_TICKS()可以将ms转换为节拍比如延时500msvTaskDelay(pdMS_TO_TICKS(500)); 简单创建一个任务代码
#include stdio.h
#include freertos/FreeRTOS.h
#include freertos/task.h
#include esp_log.hvoid task_500(void* param)
{while (1){ESP_LOGI(main , task111111);vTaskDelay(pdMS_TO_TICKS(500));}
}void app_main(void)
{xTaskCreatePinnedToCore(task_500 , 500ms , 2048 , NULL , 3 , NULL , 1);
}通过log看500ms延时还挺精确的
工程可以下载