自去年搭建了v3.3版本的esp32环境后,如今esp32的版本已经到了4.3版本,为了紧跟乐鑫的步伐,打算将v3.3升级至v4.2稳定版本,从此踏上了一条漫漫的不归路。 先将经历的一些坑罗列如下,都是笔者的血泪史。安装包千万不能用github上生成的zip压缩包! 非常坑的地方!但是有小伙伴又说了,按照官方文档使用下列指令cd ~/esp
git clone -b release/v4.2 --
转载
2024-04-26 11:48:59
35阅读
本人使用的esp32的以太网硬件组合为内置MAC和外置PHY 配置完成,编译正常之后进行代码解析(为什么有这系列的文章,因为小编打算制作一个基于ESP32的wifi和以太网自动切换的物联设备)当拿到一个IDF程序时,我们首先找到入口函数void app_main(void)本人已经删除了大部分无用代码(使用人根据自己的实际硬件进行修改)void app_main(void)
{
第一回 新手上路(开始之前要准备)本系列涉及到使用的软件和硬件并不像以前那样繁琐、复杂。如果之前有这方面的了解,初学过Python或者用过80C51或STM32系列的MCU,那么这一回的内容就跟吃馍沾酱豆一样简单了。学编程语言总是越学感觉越难,往往都是兴趣作为原始驱动,后面却变成了生产力里的驱动。人生苦短,及时行乐,如果刚上手就能够方便地驱动硬件,初学即巅峰,岂不是美滋滋?那么MicroPytho
1、如何在VSCode和ESP-IDF的环境下创建工程说实话,这是我用ESP-IDF在VSCode环境下最不喜欢的事情,在一顿CSDN和百度之后,很多大佬博主都推荐使用VSCode,通过官方示例来进行工程创建,好处是所需要的头文件都已经准备好了,同时很有可能会以及写好你所需要的外设的驱动头文件,看似非常省力。 但是!坑又非常非常的多!当我在example示例文件夹中看到了关于矩阵键盘的示例,我满心
转载
2024-05-15 12:42:43
172阅读
使用rust(no-std)环境和esp-hal库实现SSD1306显示屏(128x64)显示bmp图片.
摘要使用rust(no-std)环境和esp-hal库实现SSD1306显示屏(128x64)显示bmp图片.平台信息esp32(模组:ESP32-WROOM-32D)(xtensa lx6)(xtensa-esp32-none-elf)rust开
转载
2024-07-22 14:10:37
172阅读
1.折腾过电脑的朋友都知道,当电脑运行比较卡的时候,我们可以通过给电脑加装内存条来改善电脑的性能。那么号称微型计算机的单片机能不能像电脑一样加装内存条呢?装内存条倒是不行,但是我们可以给单片机外加和内存条效果一样的SRAM来提升单片机的性能。下面以STM32F407ZGT6单片机来讲解一下来扩展外部SRAM 原理:给STM32芯片扩展内存与给PC扩展内存的原理是一样的,只是PC上一般以内存条的形式
转载
2024-04-15 14:00:02
681阅读
嵌入式系统运行时的内存情况是非常值得关注的。本文档用于分析乐鑫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
转载
2024-03-06 12:06:36
761阅读
背景本篇文章将介绍一下ARM架构的ARM-M系列单片机的flash以及ram,以及程序启动的逻辑。提前申明,本人所写的本文是汲取网上的知识以及自己的理解,如果哪里讲的不对请广大网友指正。本文先以stm32f429ZIT6这个型号的单片机进行介绍。STM32F429ZIT6微控制器2048KB FLASH,256 KB SRAM, SDRAM 64Mbits。最高180MHz主频FLASH先说fla
ESP32-S3-BOX ESP32-S3-BOX-Lite是乐鑫推出的新一代开源 AIoT 开发套件,搭载支持 AI 加速的 ESP32-S3 Wi-Fi + Bluetooth 5 (LE) SoC。该开发板配备一块2.4寸LCD显示屏、双麦克风、一个扬声器、两个用于硬件拓展的Pmod™兼容接口、结合
转载
2024-08-25 10:12:30
380阅读
嵌入式软件笔试题 (c语言版)
1:用C语言实现大小端的测试 Int CheckCpu() {union{int a;char b;}c; c.a=1;if(c.b==1)printf(“小端”);else printf(“大端”);}2:volatile的作用有哪些?Volatile第一变量相当于
I2C中曾经说过其实目前基本用Flash而不用E2PROM,E2PROM最大的特点是按字节操作,Flash则是按扇区操作。目前STM32单片机教程里基本上都是用W25Q128这款SPI Flash芯片来教学SPI通信,我手头上开发板也是使用了这个芯片,一起来看下SPI通信的实现方法。W25Q128是一款NOR Flash(关于NOR和NAND,在这里不是重点,这里重点在应用),128Mb(16MB
转载
2024-09-16 13:30:35
203阅读
摘要:本文介绍了一种智能家居环境控制器,开发者设计基于STM32F103C8T6开发板,通过WIFI模块接入互联网,通过公有云—机智云AIoT作为服务器,与手机连接。在手机APP的操控下,实现远程温度、湿度及光照度的测量,同时远程控制家居中设备的开启和关闭。样机经过长时间测定,运行稳定可靠,具有良好的应用前景。 随着计算机技术、通信技术、网络技术的发展及互联网的日益普及,人们对传统的家居环境也提
转载
2024-09-11 12:52:41
83阅读
第11课 - enum, sizeof, typedef 分析1. enum介绍(1)enum是C语言中的一种自定义类型,和struct、union地位相同,格式如下:
// enum每个值的最后以逗号结尾
enum Color {
GREEN,
RED,
BLUE
};
// printf("%zu\n", sizeof(enum Color)); ==> 输出的结果为4,表明e
嵌入式编程中的 attribute 到底是什么相信阅读嵌入式代码的老铁经常看到一些类型定义、变量、函数有 attribute 标识符,这个标识符号到底是做什么的?有哪些用法,咱们今天就来聊一聊。attribute 可以指定编译时的细节。其可作用于变量、函数、结构体、结构体成员。 值的注意的是,Attributes 机制并不是 C标准 的一部分。因此,使用 Attributes 的程序有时候不可跨编
转载
2024-06-28 22:22:34
71阅读
1、本示例适合于ESP8266和ESP32的OTA升级,使用官方的RTOS SDK3的框架编程,用户只要给出URL,代码自动解析出域名、IP、端口、文件路径等信息,然后通过HTTP请求下载固件。2、本人测试固件放到阿里云对象存储OSS中,可以参考以下链接说明。或者自己搭建局域网服务器。阿里云对象存储上传文件_dear_Wally的博客3、user_fota.c#include "user_fota
转载
2024-04-10 12:25:04
379阅读
【简化的 OTA Demo】本示例用于演示对固件空中升级的流程。本示例是一个简化版的演示程序,对于实际的产品,你应当使用安全协议,例如 HTTPs。【目标】运行在 ESP32 上面的应用程序可以通过下载一个新的镜像文件并将其存储到 flash 上面来进行更新。在这个例子中,ESP32 在 flash 上面有三个镜像:工厂、OTA_0、OTA_1,它们每个镜像都是一个子包含的分区。OTA 镜像分区的
转载
2024-05-14 16:55:57
127阅读
文章目录问题描述:问题解决更改LVGL RAM缓存大小看ESP32的RAM使用情况查看flash大小参考链接 问题描述:使用LVGL可显示64 * 64的GIF,但是却无法显示120*120的GIF。问题解决更改LVGL RAM缓存大小分析原因:在用LVGL显示GIF图片时,会用到LVGL的GIF解码器,该解码器要求的空间大小如下: 因此,对于6464的GIF图片,其需要的RAM空间为: 对于1
转载
2024-09-20 13:19:58
247阅读
之前博客中讲解了如何通过STM32CubeMx配置生成多通道ADC的DMA方式采集,以及内部温度传感器的使用,但还留下了一些疑问,问什么需要屏蔽DMA传输完成的中断,以及所生成的代码的详细分析。接下来就开始对上一篇文章的内容进一步讲解。 本次的分析思路将按照自动生成的主函数顺序进行讲解。但不介绍如下函数:/* Reset of all peripherals, Initializes the Fl
GPIO6 ~ 11一般不推荐使用,因为这几个口接了存储程序用的Flash,不当使用可能引起程序崩溃)闪烁灯#include <Arduino.h>
int pin_num = 15; //输出的引脚为15
void setup()
{
pinMode(pin_num,OUTPUT);//设置引脚模式为输出模式
}
void loop()
{
digitalWrite(pin
转载
2024-04-13 17:19:42
63阅读
某宝上买了个esp32,还有一本ESP32开发指南的书。 然后就是环境搭建。上面写的主要是linux上的,我在自己的orange pi pc开发板上搭建了半天,后面还是有些地方有问题,没弄好。以后有空了再处理处理,毕竟一个香橙派的价格那么低,再加一个显示屏价格也不高,而且它本身也能硬件编程,还能用于学习各种编程......虽然速度慢了点,但是入门级绝对够用。当然,如果那些A80啦、rk339
转载
2024-05-20 10:26:32
655阅读