作用: 内核中的自旋的作用是保护一段临界区域的操作是独占的,不能因为多个CPU或者多个进程同时访问破坏数据结构。在单核系统和多核系统中自旋的实现有所不同。 多核系统: 对于多核系统,主要考虑一个cpu进入临界代码区域之后,其它cpu不能再次进入这个临界代码区域。 单核系统: 对于单核系统,主要的情景是一个进程进入了临界区域后,不能被其它进程抢占,如果被其他进程抢占,会导致进程抢占的cpu
ESP32 Arduino开发之路(3)— 使用Ticker库的软件定时器一、前言ESP32ESP8266一样,都可以使用Ticker库来实现软件定时器, 详情可参考:ESP8266 Arduino开发之路(6)— 使用Ticker库的软件定时器二、定时闪烁LED编写代码如下所示:/* * Ticker库的基本使用 * * 每个Ticker需要建立一个回调函数,当定时时间到了后,回调函数
文章目录目的系统时间及应用定时任务调度器Ticker使用步骤常用方法使用事例事例一事例二事例三总结 目的开发中经常会用到时间相关操作,主要就是用到系统时间、延时操作、定时任务调度等,本文介绍Arduino core for the ESP32中相关的一些功能。系统时间及应用系统时间相关方法如下:unsigned long micros(); //返回微秒为单位系统时间 unsigned long
常用时间函数:unsigned long micros(); //返回当前系统时间(us) unsigned long millis(); //返回当前系统时间(ms) void delay(uint32_t); //设置延时(ms) void delayMicroseconds(uint32_t us); //设置延时(us)返回当前系统时间即系统当前已运行时间测试:一种运用思路://该程序用于
转载 2024-07-22 20:01:02
46阅读
在Arduino开发中,定时器是一个关键的工具,它允许我们在特定时间间隔执行预定的任务。本篇文章将介绍如何使用Ticker库创建和管理多个定时器,以实现多任务定时操作。在ESP32使用Ticker库之前,我先介绍一下不同IDE下Ticker库的位置以及由于系统自带的Ticker与我们安装的Ticker冲突的解决办法:Arduino IDE的Ticker文件夹位置Arduino IDE安装ESP32
标 题: 【原创】内核态进程管理器Intercessor和实现细节 作 者: greatcsk 已经修改下载地址 下载地址:http://www.csksoft.net/Intercessor_report_src_bin.rar 由于文件太大,无法作为附件提供,抱歉   原理和核心驱动代码下载:ftp://FTP_Visitor:visitor@ftp.
目录1、ESP32启动过程1.1 一级引导程序1.2 二级引导程序1.3 应用程序启动阶段1.3.1 第一阶段,硬件和基本 C 语言运行环境的端口初始化。1.3.2 第二阶段,软件服务和 FreeRTOS 的系统初始化。1.3.3 第三阶段,运行主任务并调用 app_main。1.4 APP CPU 的内核启动流程2 代码跟踪与特殊性说明3、总结 乐鑫的ESP-IDF对FreeRTOS做了深度的适
转载 2024-05-07 14:59:34
243阅读
使用git源码安装arduino+esp32开发环境使用git源码安装arduino+esp32开发环境第一步,创建文件夹第二步,克隆esp32包第三步,安装工具包方法1:用get.exe安装工具包通过esp包下面的tools里的get.exe安装工具包第三步,安装工具包方法2:直接下载 使用git源码安装arduino+esp32开发环境一般教程里的方法安装很慢,一出现网络问题,就会错误所以这
转载 2024-08-11 10:10:25
307阅读
文章目录一、分区表简介1、什么是分区表2、ESP32 内置分区表3、分区表的格式(1) 注释(2) Name —— 分区名(3) Type —— 主类型(4) SubType —— 子类型(5) Offset & Size —— 偏移地址 & 分区大小(6) Flag —— 标记二、通过分区表设置分区1、使用内置分区表2、自定义分区表 一、分区表简介1、什么是分区表分区表是 ES
经过前两个帖子的折腾,基本的开发环境已经搭建完毕!我们现在终于可以快乐的写代码、调传感器了!!因为小弟使用的是官方乐鑫原厂的SDK,我在官网也只能找到带freertos的SDK包,因此下面就基于这个原厂SDK来给大家分享一下esp32运行多任务的过程(LED闪烁+串口打印)首先我们把      esp/esp-idf/examples   里面的L
转载 2024-05-12 20:07:07
271阅读
最近在做一个基于ESP32-PICO-D4的墨水瓶小终端/挂件?的小项目,硬件测试部分耗了我一个下午加晚上,随便总结一下。最终点灯成功 电路设计放在立创开源那边了:ESP32_INK 墨水屏终端or挂件 - 嘉立创EDA开源硬件平台 (oshwhub.com)记录一些问题/想法:1.电路设计时因为嫌16p的typec焊接容易出事,就用了一个microusb和一个6p的typec(仅供电)
转载 2024-05-06 16:13:31
3856阅读
智慧家居·万物互联:我的智能花盆DIY之旅0 写在前面1 架构怎么搭?1.1 系统层次1.2 MQTT是什么?1.3 项目流程2 云平台怎么用?2.1 创建设备2.2 设备开发2.3 设备管理3 软件怎么设计?3.1 依赖库配置3.2 引脚定义与连接3.3 WIFI配置3.4 MQTT配置3.5 连接云平台3.6 执行设备4 更进一步 0 写在前面?物联网(Internet of things,
转载 2024-08-06 12:33:03
222阅读
文章目录前言资料参考1 ESP-Moonlight 项目及硬件了解2 ESP-IDF 软件开发基础3 基础组建测试试用4 端云配合 前言小能手在时隔4年后,再次玩起了乐鑫芯片,这次是带语音识别功能的ESP32。目前基于 ESP-Moonlight 开发板记录一系列笔记。月球灯课程将带领爱好者一步步探索利用乐鑫物联⽹开发框架 ESP-IDF 和 ESP32 芯片构建智能终端产品的全过程,最终实现月
转载 2024-05-23 23:48:25
162阅读
ESP32的Ethernet通讯Arduino的Ethernet库Ethernet库库函数介绍总结 Arduino的Ethernet库Arduino很早就支持Ethernet通讯。硬件主要是支持W5100,W5200和W5500以太网通讯模块通过SPI接口与ESP32通讯。在Arduino 1.8.19版本以前,Arduino不支持库的引用位置。比如,在例子中说调用Ethernet.h,但如果想
转载 2024-05-16 08:14:03
335阅读
简介HardwareSerial 库是c++编写的,应用于esp32 Arduino应用环境的串口驱动库,我们在安装好ESP32的Arduino开发环境后就已经集成了这个串口操作库,在实际应用时直接引用就可以了。注意:ESP32共有3个UART端口, 其中UART1用于Flash读/写,我们使用串口1时需要注意,需要将串口1映射到其他GPIO上即可,我测试了一下GPIO12、GPIO13,使用串口
转载 2024-03-23 10:33:14
696阅读
WiFiWi-Fi 库支持配置及监控 ESP32 Wi-Fi 连网功能。WiFi工作模式基站模式(即 STA 模式或 Wi-Fi 客户端模式),此时 ESP32 连接到接入点 (AP)。AP 模式(即 Soft-AP 模式或接入点模式),此时基站连接到 ESP32。AP-STA 共存模式(ESP32 既是接入点,同时又作为基站连接到另外一个接入点)。上述模式的各种安全模式(WPA、WPA2 及 W
转载 2024-07-28 14:38:46
127阅读
ESP32第一章esp32简介ESP32模块及开发板ESP-IDF ESP32模块及开发板ESP32是乐鑫信息科技(以下简称乐鑫)推出的一块WIFI芯片。ESP32 集成了天线开关、射频 balun、功率放大器、低噪放大器、过滤器和电源管理模块,整个解决方案占用了最少的印刷电路板面积。2.4 GHz Wi-Fi 加蓝牙双模芯片采用 TSMC 低功耗 40nm 技术,功耗性能和射频性能最佳,安全可
转载 2024-02-06 21:29:41
90阅读
NodeMCU-32S简介NodeMCU-32S引脚功能板上资源总结功能特点 NodeMCU-32SNodeMCU-32S是基于 ESP32-32S 模组设计的一款较为经典的ESP32开发板,个人认为较为适合初学ESP32使用,后面学习ESP32的使用时候我们也将使用这块板子。该开发板的设计引出大部分I/O口至两侧的排针,极大的方便了开发者的连接与调试,开发时完全可以根据自己的需求去连
转载 2024-05-23 09:40:53
306阅读
mit your program proposal for the GLAM Wiki Conference [Help with t
原创 2023-07-11 21:53:07
542阅读
嵌入式系统运行时的内存情况是非常值得关注的。本文档用于分析乐鑫ESP32 SDK(版本esp-idf-v3.0-rc1) Heap (堆内存)管理的实现。 1:Heap管理主要函数接口与数据结构1.1主要函数接口ESP32的SDK对于heap部分管理的源码位于路径\esp-idf-v3.0-rc1\components\heap下,可以简单的认为分为两层:heap_caps_init.c
  • 1
  • 2
  • 3
  • 4
  • 5