ESP32开发之旅——ssd1306 OLED屏的使用前言在本文中,您将学会ssd1306 OLED屏在ESP32中的使用,本文提供了简单的示例供学习参考。需要注意的是,本文中的ESP32是使用Micro Python进行开发的,(同时ESP8266也可按照本文进行开发)。对ssd1306 OLED屏熟悉的小伙伴可以直接跳至正文部分SSD1306 OLED屏介绍实物图本文中使用的SSD1306 是
1.现象在ulp程序增加了一些逻辑之后,编译报错。编译器打印故障信息(rel too far)如下: 上网搜索之后,发现是编译器bug(编译器会差label 到引用直接打的文件地址偏移, 如果隔太远就会抛异常, 事实上这个机制并不合理)。官网给出的解决方案是将程序分成多文件,或者将引用的label声明为全局(global),或者直接注释掉编译器检查偏移相关部分代码(开源的好处,随便让你折
发现很多人在LiteOS的移植过程中总会遇到一些问题,现在简单做一些总结。后续有新的问题提再继续补充。1、CMSIS版本导致的问题问题现象一般如下图所示,编译后报错,Undefined symbol __get_IPSR (找不到 符号__get_IPSR )。分析:该问题一般出现在stm32f103系列的单片机使用标准库移植的情况下。F103系列单片机标准库只更新到3.5版本,cmsis版本较低
MicroPython是为了在嵌入式系统中运行Python 3编程语言而设计的轻量级版本解释器。与常规Python相比,MicroPython解释器体积小(仅100KB左右),通过编译成二进制Executable文件运行,执行效率较高。它使用了轻量级的垃圾回收机制并移除了大部分Python标准库,以适应资源限制的微控制器。MicroPython主要特点包括: 1、语法和功能与标准Python兼容
一.下载安装arduino IDE网上很多教程二.两种添加安装包方法,一种是在线安装,一种是离线安装。①在线安装:文件<首选项<网址 在附加开发板管理器中添加网址:https://dl.espressif.com/dl/package_esp32_index.json 结束后点击 工具<开发板<开发板管理器<查找esp32进行安装 选择配置(如图所示进行选择),随后开
新近入手了一块ESP32S,就开始了蓝牙的学习之旅。用米思琪编写简单的蓝牙程序要使用ESP32S的蓝牙功能,最简单的是用米思琪了。我们选择连接的设备为“Arduino ESP32”,串口就选连接模块的端口。我们从左侧的积木仓库中,选通讯中的蓝牙积木,拖到中间的舞台,这样就可以了。我们可以点击上面的代码按钮,会发现其实这一组积木模块是一个完整的蓝牙驱动程序。接下来就可以选编译,上传烧写到开发板中了。
前两节已经说明了,开发环境以及升级到最新的sdk。本节 Hello_World 案例。导入ESP32_IDF项目1. 选择 File→Import2. 点开C/C++分支,并选中Existing Code as Makefile Project3. 去除C++支持,选中 Cygwin GCC点击Browser,选中 esp-idf-v2.1所在的目录 4. 点击&n
Arduino环境配置 首先需要下载Arduino IDE,可以去官网下(下载慢容易失败,不推荐),也可以在Arduino中文社区进行下载(推荐)。 下载好软件之后,正常安装,安装好后打开软件,点击“工具”—>“管理库”,搜索esp32,安装ESP32库。 如果没有搜到的话,就转到“文件”—>“首选项”,将https://dl.espressif.com/dl/package_
对于汽车开发工程师来说,CAN总线是工作最最基础的一部分了。虽然工作已经有了CANOE,CANAPE,INCA等开发工具,但简单的使用这些软件没有极客精神,有时候还是想能够做一个自己的工具,可以通过编程来玩转CAN总线。由于之前接触过ESP8266,因此当ESP32推出的时候,我对其尤为关注。ESP32的性能更为强大,而最重要的是ESP32已经支持CAN总线了。在其官方文档中,CAN总线被名命为T
调度,实际涉及到两个问题,一个是调度的对象是什么(你要调度啥),另一个就是如何进行调度。本文就来聊聊 FreeRTOS 的任务调度过程。说到调度对象,很容易想起那句名言:进程是资源的最小单位,线程是调度的最小单位。在 FreeRTOS 中没有区分进程,线程的概念,统称为任务,对应的结构体为:tskTCB。lib/FreeRTOS/tasks.c:typedef struct tskTaskCont
代码#include "esp_log.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "event_source.h"
static const char* TAG = "default_event_loop";
static esp_event_handler_instance_t s_inst
获取源码mkdir -p ~/sources && cd ~/sources
git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git
git clone https://gitee.com/EspressifSystems/esp-idf.git下载ESP-IDF下的子模块首先切换到ESP-IDF下,然后利用
您可能已经知道Espressif制造的esp8266wifi芯片。它在2014年中出现在一些中文网站上,一开始它被用作连接微控制器(Arduino ...)到wifi网络的“桥梁”,这要归功于其非常低的成本(一个模块约5美元)。由于原始固件没有很好的文档记载,它有一些错误,并且只提供了“标准”功能(通过AT命令),制造商社区开发了一些替代固件(其中最着名的肯定是NodeMCU),以充分利用芯片并且
以太网简介以太网是一种计算机局域网技术。IEEE组织的IEEE 802.3标准制定了以太网的技术标准,它规定了包括物理层的连线、电子信号和介质访问层协议的内容。 优点:成本低、通信速率高、抗干扰性强。 标准以太网:10Mbit/S 快速以太网:100Mbit/S 千兆以太网:1000Mbit/STCP通信服务端#include <ETH.h> //引用以使用ETH
#include &
详解STM32 ISP设置及使用说明1. STM32的BOOT概述STM32三种启动模式对应的存储介质均是芯片内置的,它们是:用户闪存: BOOT1=x BOOT0=0 芯片内置的Flash,即主存储器FlashSRAM:
一、背景1.1 低功耗蓝牙(BLE)协议栈链路层(LL) 控制设备的射频状态,有五个设备状态:待机、广播、扫描、初始化和连接。广播 为广播数据包,而 扫描 则是监听广播。GAP通信中角色,中心设备(Central - 主机) 用来扫描和连接 外围设备(Peripheral - 从机)。1.2 BLE从初始化到建立连接的过程外围设备开始广播,发送完一个广播包后T_IFS,开启射频Rx窗口接收来自中心
前言本文的目的是为了给将要制作的ESP32手环做技术储备准备学习下ESP32,还有嵌入式GUI框架LVGL,通过做几个小项目练手是不错的选择,最终目标是做一个ESP32的手环做一个ESP32手环任务量还是比较大的,涉及到很多新技术,我认为步子不能迈的太大容易翻车,决定先做一个ESP32的智能花盆GITHUB仓库结构 0.doc 相关文档 1.hardware pcb和3D打印所需资料 2.soft
基于STM32F767通过STM32CubeMX实现ModbusTCP读多为寄存器操作(后续)由于上篇着重介绍了实现功能的代码,以至于我没有和大家讲清楚FreeModbus应该怎么移植,在此先抱歉浪费大家时间了。 接下来我要开始实操怎么成功移植Freemodbus在STM32上(以下方法可以满足所有STM32设备)实验准备:去FreeModbus官网下载Modbus的源码包,链接直接放上:Free
上面几节我们使用Micrpython在Wokwi网站上实现了树莓派Pico开发板的仿真。学习了树莓派Pico的LED闪灯、按键操作等。以及Wokwi的使用,比如选中元器件后,按键盘“R”键切换方向,按键盘“Backspace”或者“Delete”删除原件,鼠标滚轮进行放大缩小,点击元器件上方的问号查看该
介绍本MicroPython教程的目的是解释如何开始使用uPyCraft,这是一个支持IDE (集成开发环境) 是一种软件, 它通常集成一组工具, 使代码开发过程更容易。在这样的例子中, 著名的界面是简约的, 开始使用它是相当简单的, 我们将在本教程中看到。因此, 我们本教程的目标是连接到运行 micropython 的主板, 并在环境提示中发送一个简单的 "hello world" 命令。您可以