开发板ESP32-Devkitc-v4有两个内核,如何让他们同时工作呢?两个cpu处理的数据可不可以共通呢?找遍也没有资料讲这个事情,也可能时我没找对。这里分享给大家。

目录

实验

总结


实验

废话不多说,直接上代码,就是这么简单粗暴!

#include"string.h"
int testdata0 = 10;
int testdata1 = 0;void appCpuLoop(void *pvParameters){while(1){Serial.println("appCpu1 "+(String)testdata0);testdata1 ++;if(testdata1 == 10)testdata1 = 0;delay(1000);}vTaskDelete(NULL);
}
void setup() {Serial.begin(9600);xTaskCreatePinnedToCore(appCpuLoop,    //具体实现的函数"APP_CPU_LOOP",  //任务名称8192,       //堆栈大小NULL,       //输入参数1,          //任务优先级NULL,       //1           //核心  0\1);
}void loop() {Serial.println("main core0 "+(String)testdata1);testdata0 --;if(testdata0 == 0)testdata0 = 10;delay(1000);
}

做一个解释,就是两个变量,分别在两个cpu核内操作,然后在另外一个核内调用。最后在串口看输出,cpu0轮询周期大约1s,cpu1内函数轮询周期1s。但是输出有点让我迷惑,想了想,原来是执行周期,或者说两个核时序的问题,所数值不是交替出现的。看下图

修改一下loop,但是执行过程还是有可能再次出现上边的情况的(当时间不断变长时)

void loop() {delay(500);Serial.println("main core0 "+(String)testdata1);testdata0 --;if(testdata0 == 0)testdata0 = 10;delay(500);
}

这下看着就舒服多了

修改一下执行周期,再看看。

#include"string.h"
int testdata0 = 10;
int testdata1 = 0;void appCpuLoop(void *pvParameters){while(1){Serial.println("appCpu1 "+(String)testdata0);testdata1 ++;if(testdata1 == 10)testdata1 = 0;delay(2000);}vTaskDelete(NULL);
}
void setup() {Serial.begin(9600);xTaskCreatePinnedToCore(appCpuLoop,    //具体实现的函数"APP_CPU_LOOP",  //任务名称8192,       //堆栈大小NULL,       //输入参数1,          //任务优先级NULL,       //1           //核心  0\1);
}void loop() {Serial.println("main core0 "+(String)testdata1);testdata0 --;if(testdata0 == 0)testdata0 = 10;delay(1000);
}

做一个解释,就是两个变量,分别在两个cpu核内操作,然后在另外一个核内调用。最后在串口看输出,cpu0轮询周期大约1s,cpu1内函数轮询周期2s。没有问题,每输出两次cpu0再一次cpu1的数据,如下图

总结

两个cpu使用的变量数据是可以共通的,cpu调用的方法也在上边了,原loop是默认cpu0的。

ESP32使用双cpu同时工作测试-arduino开发环境相关推荐

  1. 为 Esp8266 配置 Arduino 开发环境并测试WiFi

    为 Esp8266 配置 Arduino 开发环境 date: 2020-04-16 lastmod: 2021-09-21 安装驱动 为了让电脑可以正确识别开发板,需要装设备驱动(免驱插上就会自动安 ...

  2. 【花雕体验】12 搭建ESP32C3之Arduino开发环境

    1.连接 ESP32-C3 和 PC,安装驱动(CH343) (1)WCH官网下载驱动 https://www.wch.cn/downloads/CH343SER_EXE.html (2)运行安装 ( ...

  3. arduino编码器计数_基于Arduino开发环境的光电编码器检测仪设计方案 - 全文

    0 引言 Arduino是一款基于单片机系统的电子产品开发平台,它的软硬件系统都具有高度的模块化,而且软件系统是完全开源的.其硬件系统也是高度模块化的,在核心控制板的外围有开关量输入/输出模块.各种模 ...

  4. 3D打印机DIY之三------Arduino开发环境构建和Marlin固件配置

    一.Arduino开发环境 1.搜索Arduino IDE下载安装即可. 2.使用VS code开发Arduino Arduino IDE很简单,很多功能都没有,使用起来很不方便.因此建议使用Visu ...

  5. Mac OS苹果系统下搭建arduino开发环境

    Mac OS苹果系统下搭建arduino开发环境 一.准备工作 IDE安装 驱动安装 二.开发测试 一.准备工作 IDE安装 从arduino官方网站:https://www.arduino.cc/e ...

  6. ESP32S2小项目-FM-网络时钟/电台-Arduino开发环境

    ESP32S2小项目,FM,网络时钟/电台,Arduino开发环境 效果展示 文章目录 ESP32S2小项目,FM,网络时钟/电台,Arduino开发环境 效果展示 开机动画: 网络时钟: FM模块: ...

  7. Arduino可穿戴开发入门教程Arduino开发环境介绍

    Arduino可穿戴开发入门教程Arduino开发环境介绍 Arduino开发环境介绍 Arduino不像我们使用的PC端操作系统一样,可以直接在操作系统中安装软件为操作系统编程.Arduino的软件 ...

  8. Arduino 002 --- 在Ubuntu(Linux) 中搭建Arduino开发环境

    在Ubuntu/Linux 中搭建Arduino开发环境 我的Ubuntu系统:Ubuntu 14.04.10 TLS 32位 需要安装的Arduino的版本:Arduino 1.6.11(最新版本) ...

  9. Arduino基础入门篇02—Arduino开发环境IDE安装使用

    工欲善其事,必先利其器.本文主要介绍Arduino开发环境IDE的安装及功能介绍. Arduino IDE安装 从官网下载IDE开发环境,IDE下载地址 .笔者使用Win10系统,点击 Windows ...

最新文章

  1. EntityFramework Code-First 简易教程(三)-------数据库初始化
  2. Python是如何进行内存管理的?
  3. 解决:SyntaxError: Non-ASCII character ‘\xe8‘ in file 1.py on line 4, but no encoding declared;
  4. 华为p50预计售价鸿蒙是什么,华为P50pro预计售价多少 华为P50Pro参数配置
  5. ABAP代码自动完成实现原理
  6. 为什么只有奇次谐波_我们为什么要用UPS不间断电源?
  7. POJ 2887 Big String
  8. 查询sql语句是否使用索引
  9. .ipynb文件怎么打开_Win10文件夹打开拒绝访问怎么解决?
  10. 西门子1500和300哪个贵_西门子S7-1500凭什么秒杀S7-300-400?
  11. UVA 1615 Highway 高速公路 (区间选点)
  12. IDC:第三季度企业WLAN市场增长强劲
  13. NOIP2013普及组复赛第一题《计数问题》CA代码
  14. nodejs eggjs框架 爬虫 readhub.me
  15. 错误代码1500什么意思_宽带出错出错提示代码是示什么意思
  16. C语言(二)BMP图像 文本数据保存为图像
  17. Cisco Packet Tracer学习
  18. Python课程设计项目-基于机器学习的糖尿病风险预警分析系统
  19. MySQL国内镜像下载地址
  20. 战争与征服服务器维护,战争与征服 8月29日停机维护公告_战争与征服 8月29日更新了什么_玩游戏网...

热门文章

  1. C Prime Plus 第二章 C语言概述
  2. b站python直播批量发送弹幕_Python实现自动发送B站直播弹幕软件
  3. 每日一道leetcode(python)695. 岛屿的最大面积
  4. 标题爱奇艺的数据库选型大法,实用不纠结!
  5. 微信小程序跳一跳外挂matlab版本
  6. 一文搞定CSS(附思维导图下载)
  7. 文件系统(六)—文件系统mount过程
  8. linux 命令:top 详解
  9. 计算机输入知识竞赛简讯,计算机学院积极参与“不忘初心之感知我矿大”知识竞赛...
  10. No.2 大众点评评论爬取