- 博客(15)
- 收藏
- 关注
原创 ESP32学习与快速总结——4.LVGL初级教程
切换到components乐鑫组件管理器方法直接拉取LVGL的源码错误警告原因:本人将git写成get到LVGL切换版本git tag进入git查看模式,需要按q来切换模式,才能输入下面的命令在lvgl_display中idf.py buildcomponents下mkdir bsp讲上两节的触摸显示驱动放入bsp中(注意,后面的小点不要落下)vscode中将这四个文件移入bsp中在bsp中创建CMake......txt文件。
2025-04-18 17:39:44
1006
原创 ESP32学习与快速总结——5.系统存储
VFS 作为抽象层,把不同文件系统的具体操作细节都隐藏起来,给操作系统和用户程序提供一套统一的接口。VFS(虚拟文件系统)是一个抽象层,它让操作系统能以统一的方式管理不同类型的文件系统,就像一个万能的 “翻译官”,让你不用管具体的文件系统差异,就能方便地操作文件。若当前运行 ota_0 固件,新固件下载至 ota_1,验证通过后,下次启动便从 ota_1 加载新固件。设备软件更新时,新固件先下载到 OTA 分区,验证通过后,系统从该分区加载新固件,避免直接覆盖运行中的程序,提升更新安全性与可靠性。
2025-04-18 14:31:07
793
原创 ESP32学习与快速总结——3.外设教程
ESP32 的 GPIO 交换矩阵是一个可灵活配置的模块,能将芯片内部外设信号自由路由到任意 GPIO 引脚,也能把引脚信号引入内部外设,极大提升了引脚复用性和硬件设计灵活性。定性:挂载是指将存储设备(如硬盘、U 盘、SD 卡等)或存储设备中的文件系统连接到计算机系统的某个目录下,使其能够被操作系统访问和使用的过程。此处仅展示 老师在视频(地址在第一节有)中的代码书写理解顺序与思路的时间点,具体代码请参考下载老师视频下面的源码。答案:可行,但不推荐,官方解释是可能存在未知错误。的结构体变量,类型为。
2025-04-05 12:16:36
853
原创 esp32学习与快速总结——2.FreeRTOS操作系统
xSemaphoreTake ( SemaphoreHandle_t xSemaphore, // 信号量句柄。const BaseType_t xWaitForAllBits, // 是否等待的标志位都成功了才返回。uint32_t ulBitsToClearOnEntry, // 进入函数清除的通知值位。uint32_t ulBitsToClearOnExit, // 退出函数清除的通知值位。TaskHandle_t xTaskToNotify, // 要通知的任务句柄。
2025-04-03 18:52:47
1127
1
原创 嵌入式面试笔试与拓展1.7
定义立即数是在指令中直接给出的操作数,它紧跟在操作码之后,不需要通过内存或寄存器间接获取。例如,在 “ADD R0, #5” 指令中,“#5” 就是立即数,表示将寄存器 R0 的值与 5 相加。本质立即数本质上是一种固定的、在指令执行时直接参与运算的数据常量。它是指令的一部分,被编码在指令中,用于提供操作所需的具体数值。其存在使得处理器可以在一条指令中快速完成对特定数据的操作,而无需额外的指令来加载数据,提高了指令执行的效率。补充:那么他具体是干啥的呢用途。
2025-03-25 13:21:26
538
原创 嵌入式面试笔试与拓展1.6 c++
这两行代码的主要功能是向标准输出(通常是控制台窗口)打印信息。第一行输出整数相加的结果,第二行输出浮点数相加的结果。引用是变量的别名,并非新定义一个变量,它和所引用的变量共用同一块内存空间。定义形式为类型 &引用名 = 变量名;。重载:发生在同一类中。重写:发生在子类与父类之间。综上所述,声明了一个名为s的数组,该数组包含 10 个元素,每个元素都是一个指向函数的指针。这些函数接收一个int类型的参数,并且返回一个int类型的值。
2025-03-25 12:24:49
819
原创 嵌入式面试笔试与拓展1.5 网络编程
ISO 七层网络通信结构在网络编程方面,ISO了开放系统互连参考模型(OSI 模型)等,为网络通信中不同设备和系统之间的互联互通提供了规范和指导。TCP/IP 四层网络通信结构在网络编程方面,TCP/IP 是一组用于实现计算机网络中不同设备之间的数据传输和通信,它规定了数据如何打包、寻址、传输以及如何在目的地被接收和处理。
2025-03-23 11:46:37
683
原创 嵌入式面试笔试与拓展1.4 I/O进程
子进程终止后,父进程未回收其资源,处于这种状态的子进程就是僵尸进程。子进程结束并向父进程发送结束信号,父进程未用 wait() 或 waitpid()来获取退出状态与释放资源,致使子进程变为僵尸进程。占用系统的进程资源,如进程控制块,大量出现会耗尽资源,影响新进程创建。识别:用ps -ef命令查看,僵尸进程状态显示为Z或 Z+。父进程正常时,让父进程调用wait() 或 waitpid() 回收资源;父进程有(病)问题则杀死父进程,让init进程接管并回收僵尸进程资源。
2025-03-22 17:35:14
944
原创 嵌入式面试笔试与拓展1.3 数据结构
回到你给出的代码} Node;,这里定义了一个名为 Node的结构体,它是用来表示链表节点的。int key;表示这个节点存储的一个整数值,key可以用来标识节点或者存储你需要的数据。比如在哈希表中,它可以存储键值。这是一个指向类型的指针,叫做next。它的作用是指向下一个节点,通过这个指针,我们可以把多个节点连接起来,形成链表。也就是说,每个节点都包含了指向下一个节点的地址,这样就可以通过指针遍历整个链表了。所以,这个结构体定义了链表中一个节点的结构,包含一个数据(key。
2025-03-22 16:34:27
800
原创 嵌入式面试笔试与拓展1.2 Linux基础
是一种特殊文件,类似于快捷方式,能为文件或目录创建别名。有独立的 inode,其内容为指向目标文件或目录的路径。inode 是 Unix 文件系统中的一个重要概念,它是一种数据结构,用于存储文件的元数据信息当你在 Linux 系统中使用ls -l命令查看文件列表时,显示的信息中就包含了文件的 inode 相关信息,如文件的权限、所有者、文件大小和修改时间等。这些信息都是从文件的 inode 中获取的可跨文件系统创建,方便在不同位置访问同一文件或目录。
2025-03-22 14:39:11
691
原创 嵌入式面试笔记与拓展1.1 c语言
答: 回调函数是一段可执行的代码段,它作为一个参数传递给其他的代码,其作用是在需要的时候方便调用这段(回调函数)代码。是一段代码,作为参数传给其他代码,在特定时刻被调用,常用于异步、事件驱动场景。函数封装为组织代码、实现复用、隐藏细节,是将代码封装成独立功能单元,通过函数名调用。回调函数重点在延迟调用,利用函数传参特性,在特定时机执行特定代码实例补充声明变量含义:声明变量的作用是告知编译器或解释器某个变量的存在,同时说明其类型,但并不分配内存空间来存储该变量的值。
2025-03-22 13:10:01
978
原创 江科大STM32笔记——SPI 及 W25Q64 芯片相关知识
SPI(Serial Peripheral Interface)由 Motorola 公司开发,是一种通用数据总线。
2025-03-20 18:30:42
1943
原创 Keil5 中基于 STM32F103 开发板使用 FreeRTOS ——1.从环境搭建到运行第一个 FreeRTOS 程序。
4. FreeRTOSConfig.h中添加必须的四个宏 与 stm32f10x_it.c中必须注释的内容(你也不想你的小灯灯他不亮吧,嘿嘿嘿)文件夹下只需要添加对应编译器和芯片架构的文件,对于 Keil5 和 STM32F103,需要添加。6.FreeRTOSConfig.h配置与注释。3.FreeRTOSConfig.h在那里。1.选对要下载的FreeRTOS,地址。stm32f10x芯片的的地址在。2. 新手选对要下载的文件。5.port在哪添加。
2025-03-12 22:31:56
2492
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人