自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 嵌入式面试高频!!!(十七)linux操作系统

进程与线程管理核心要点 父子进程关系:父进程通过fork()创建子进程,子进程继承父进程资源但拥有独立地址空间。父进程需通过wait()回收子进程资源,避免僵尸进程。 僵尸进程处理:可通过终止父进程、使用waitpid()修复代码或重启服务来清理。预防措施包括正确处理子进程退出信号和定期检查系统进程。 线程数量限制:取决于系统资源、OS限制和CPU架构。64位系统支持更多线程,建议使用线程池模式并调整栈大小优化性能。 上下文区别:进程上下文可访问用户空间且允许阻塞,中断上下文仅限内核态且不能睡眠,要求快速处

2025-11-25 09:33:30 837

原创 嵌入式面试高频!!!(十六)linux操作系统

摘要:本文系统阐述了多进程与多线程的核心概念及其差异。多进程具有高稳定性(内存隔离)和多核利用优势,但资源开销大;多线程资源开销小且通信高效,但存在同步和稳定性风险。详细介绍了进程/线程同步方法(互斥锁、信号量等)和互斥机制,分析了同步与阻塞的关系(同步可能但不必须通过阻塞实现)。最后明确定义了并发、同步、异步等关键概念:并发是任务宏观并行,同步是顺序执行,异步是非阻塞调用,互斥确保资源独占访问。这些概念为构建高效安全的并发系统提供了理论基础。

2025-11-24 15:19:25 465

原创 嵌入式面试高频!!!(十五)linux操作系统

是操作系统资源分配的基本单位,拥有独立的内存空间和系统资源。每个进程至少包含一个线程,进程之间的通信需要通过特定的机制(如管道、消息队列、共享内存等)实现。是进程内的执行单元,共享进程的内存和资源。线程的创建、切换和销毁开销比进程小得多,适合处理高并发任务。同一进程内的线程可以直接访问共享数据,但也需要同步机制避免冲突。

2025-11-24 15:10:50 296

原创 嵌入式面试高频!!!C语言(十四) STL(嵌入式八股文)

本文对比分析了常见数据结构的特点与实现:1. List(链表)与Vector(动态数组):List插入删除高效(O(1))但随机访问慢(O(n));Vector随机访问快(O(1))但中间操作需移动元素。2. Deque(双端队列)结合链表和数组优点,支持高效头尾操作(O(1))和随机访问,但实现较复杂。3. STL容器分类:包括序列容器(vector/list等)、关联容器(set/map)、无序容器(unordered_set)和适配器(stack/queue)。4. Vector扩容原理:动态分配内存

2025-11-11 11:22:09 880

原创 嵌入式面试高频(十三)!!!C++语言(嵌入式八股文,嵌入式面经)

本文摘要: C++中虚函数与模板函数具有本质区别,标准禁止虚函数作为模板函数,主要因动态绑定与静态绑定的冲突。虚函数通过虚函数表实现运行时多态,而模板函数在编译时实例化。替代方案包括非虚模板函数调用虚函数、类型擦除或CRTP模式。虚函数表在编译期生成结构,运行期初始化。操作符重载则允许自定义类型使用内置操作符,需遵循语法限制并保持语义直观性。这些机制各司其职,共同支撑C++的多态特性。

2025-09-27 17:40:22 1072

原创 嵌入式面试高频(十二)!!!C++语言(嵌入式八股文,嵌入式面经)c++11新特性

本文摘要: C++核心特性解析:1.移动语义通过右值引用(T&&)实现资源所有权转移,避免深拷贝;2.完美转发结合通用引用和std::forward保持参数原始类型;3.函数模板是泛型代码蓝图,实例化后生成模板函数;4.智能指针(unique_ptr/shared_ptr/weak_ptr)自动管理内存,提升安全性。这些特性共同优化了C++的资源管理、泛型编程和代码安全性。

2025-09-27 17:06:26 1320

原创 嵌入式面试高频(十一)!!!C++语言(嵌入式八股文,嵌入式面经)c++11新特性

C++11 是 C++ 标准化过程中的一次重大更新,引入了许多新特性,显著提升了语言的表达能力和效率。

2025-09-25 14:23:41 972

原创 嵌入式面试高频(十)!!!C++语言(嵌入式八股文,嵌入式面经)

字节对齐(Byte Alignment)是指数据在内存中存储时,其起始地址必须是某个特定值的整数倍。这个特定值通常是数据类型本身的大小或编译器/硬件平台规定的对齐值。例如,一个4字节的int类型变量在32位系统中通常需要从4的倍数地址开始存储。字节对齐是内存管理的基础机制,通过匹配硬件访问特性提升效率和稳定性。开发者需根据语言规范和平台特性合理处理对齐问题。原子操作是指在多线程或并发环境中,一个不可分割的操作,要么完全执行,要么完全不执行,不会被其他线程中断。

2025-09-22 14:50:51 689

原创 嵌入式面试高频(九)!!!C++语言(嵌入式八股文,嵌入式面经)

拷贝构造函数用于通过同类型的已有对象初始化新对象。其核心功能是完成对象的深拷贝或浅拷贝,确保新对象与原对象在内存或资源管理上独立或共享的逻辑一致性。动态内存管理:类包含指针成员且指向堆内存时,默认浅拷贝会导致重复释放,需自定义深拷贝。int* data;public:// 深拷贝资源独占:管理文件句柄、网络连接等资源时,需自定义拷贝逻辑(如禁止拷贝或引用计数)。成员包含不可拷贝对象:若类成员禁用拷贝(如std::mutex),需显式处理或删除拷贝构造函数。深拷贝需求int* data;

2025-09-22 10:26:49 594

原创 嵌入式面试高频(八)!!!C++语言(嵌入式八股文,嵌入式面经)

嵌入式面试提问,面经 八股文

2025-09-19 11:12:25 1108

原创 嵌入式面试高频(七)!!!C++语言(嵌入式八股文,嵌入式面经)

嵌入式八股文 嵌入式面经!!!

2025-09-19 09:55:03 732

原创 国民N32WB03x_1.3.3蓝牙芯片,按键中断产生消息通知例程(LED2开关)

国产蓝牙芯片 国民 消息通知处理例程

2025-09-18 16:27:38 477

原创 嵌入式面试高频(六)!!!C++语言(嵌入式八股文,嵌入式面经)

调整已分配内存的大小。:分配并初始化为 0。

2025-06-10 10:25:36 904

原创 嵌入式面试高频(5)!!!C++语言(嵌入式八股文,嵌入式面经)

嵌入式面试高频!!!C++语言(嵌入式八股文,嵌入式面经)

2025-06-07 17:19:43 1032

原创 ESP32 入门 (九) 使用FreeRtos创建任务并使用信号量和互斥量通信

在 ESP32 开发中,随着项目复杂度的提升,多任务协同工作变得愈发普遍。为了确保任务之间的同步与共享资源的安全访问,FreeRTOS 提供了信号量(Semaphore)和互斥量(Mutex)等强大工具。本文将深入讲解如何在 ESP32 上使用 FreeRTOS 创建任务,并借助信号量和互斥量实现高效、安全的任务间通信,助力你进一步掌握 ESP32 的高级开发技巧。​。

2025-06-06 08:17:19 1162

原创 嵌入式面试高频!!!C语言(四)(嵌入式八股文,嵌入式面经)

嵌入式面试高频!!!C语言(嵌入式八股文,嵌入式面经)

2025-06-05 09:01:25 1160

原创 ESP32 入门 (八) 使用FreeRtos创建任务并使用消息队列通信

函数参数依次为:任务函数指针、任务名称(用于调试和识别)、任务堆栈大小(根据任务需求合理设置,过小可能导致堆栈溢出)、传递给任务函数的参数(这里为NULL)、任务优先级(数值越大优先级越高)、任务句柄(用于后续对任务的操作,这里暂时不使用设为NULL)、任务运行的核心编号。在 ESP32 中使用 FreeRTOS,可以将复杂的应用程序拆分成多个独立运行的任务,每个任务负责特定的功能,如数据采集、网络通信、显示更新等,从而使程序结构更加清晰,提高开发效率和系统稳定性。三、使用 FreeRTOS 创建任务​。

2025-06-05 08:27:41 1216

原创 ESP32 入门 (七) 通过 ST7789 协议控制 1.3 寸 LCD 屏幕

《ESP32驱动1.3寸ST7789 LCD屏幕实践指南》 本文介绍了使用ESP32通过ST7789协议控制1.3寸TFT LCD屏幕的完整方法。首先概述了ST7789驱动芯片的特点和1.3寸LCD屏幕的技术参数,详细说明了ESP32与屏幕的SPI接口连接方式(包含SCK、MOSI、DC等关键引脚配置)。在开发环境方面,重点讲解了Arduino IDE的配置和TFT_eSPI库的安装设置。文章提供了完整的示例代码,实现文字显示和图形绘制功能,并解释了核心API的使用方法。最后针对无显示、内容错乱等常见问题给

2025-06-03 14:02:32 1699

原创 ESP32 入门 (六) 使用 SPI 读取 SD 卡

ESP32通过SPI读取SD卡数据指南 摘要:本文详细介绍了如何利用ESP32开发板通过SPI协议读取SD卡数据的方法。首先阐述了SPI通信协议的基本原理和硬件连接方式,重点说明ESP32与SD卡模块的正确接线方法。接着讲解了Arduino IDE开发环境的配置步骤和SD库的安装流程,并提供了一个完整的示例代码,展示如何初始化SD卡、读取文件内容。文章最后还针对SD卡初始化失败、无法打开文件等常见问题给出了解决方案。本教程为物联网开发者提供了ESP32扩展存储空间的实用技术方案。

2025-05-30 09:25:17 1718 2

原创 嵌入式面试高频!!!C语言(三)(嵌入式八股文,嵌入式面经)

嵌入式八股文,嵌入式面经

2025-05-30 09:06:40 1164

原创 嵌入式面试高频!!!C语言(二)

本文系统讲解了计算机编程中的核心概念与应用场景。一、详解源码、反码和补码的表示方法、运算特性及计算机选用补码的原因;二、分析编程控制语句continue、break和return的功能差异与适用场景;三、阐述volatile关键字在多线程和硬件编程中的作用;四、对比C/C++中结构体的特性差异,说明内存对齐规则;五、区分C++中class与struct在访问控制、继承方式和设计意图上的关键区别。全文通过代码示例和对比表格,帮助读者深入理解这些基础但至关重要的计算机概念。

2025-05-29 08:41:54 1823

原创 ESP32入门(五)使用浏览器配网

本文介绍了通过Arduino IDE实现ESP32浏览器配网的方法。核心原理是让ESP32启动时创建临时WiFi热点,用户通过网页配置目标WiFi信息。文中提供了完整代码实现,包括创建Web服务器、配置页面设计、连接逻辑处理等关键步骤。代码实现了WiFi连接尝试、配置保存和状态反馈功能,并建议了配置持久化、错误处理和安全性等改进方向。测试时只需连接ESP32热点,访问配置页面输入WiFi信息即可完成配网。该方法简化了ESP32的网络配置流程,提升了用户体验。

2025-05-29 08:11:10 1280

原创 嵌入式面试高频!!!C语言(一)

1. 修饰局部变量存储方式:将局部变量存储在静态存储区(而非栈上)。生命周期:变量在程序启动时创建,程序结束时销毁,而非随函数调用结束而释放。初始化:仅在首次调用函数时初始化,后续调用保留上次的值。作用域:仍为局部作用域(仅函数内可见)。// 仅首次调用时初始化count++;counter();// 输出: 1counter();// 输出: 2counter();// 输出: 3return 0;2. 修饰全局变量存储方式:存储在静态存储区(与普通全局变量相同)。生命周期。

2025-05-28 13:46:28 1275

原创 ESP32入门(四)基于定时器任务的 LED 控制实践

硬件定时器:芯片内部集成的定时器模块,如 RTC 定时器、高级定时器等软件定时器:基于硬件定时器实现的软件抽象,提供更灵活的定时功能Arduino 框架定时器:Arduino IDE 为 ESP32 提供的定时器 API,简化开发流程在本文中,我们将主要使用 Arduino 框架提供的定时器功能,它封装了底层硬件操作,使用起来更加便捷。ESP32 定时器任务的基本概念和优势使用 Arduino Ticker 库创建和管理定时器任务一次性定时器和周期性定时器的实现方法。

2025-05-28 08:24:34 1088 1

原创 ESP32入门(三)使用 FreeRTOS 多任务系统实现 LED 点灯控制

本文介绍了如何在ESP32开发中使用FreeRTOS实时操作系统实现多任务LED控制。重点讲解了FreeRTOS与ESP32双核处理器的集成优势、开发环境配置方法,并通过实例代码演示了三个并行任务的实现:主控制任务、LED闪烁任务和状态监测任务。文中详细分析了任务架构设计、通信机制(使用信号量进行任务间同步)以及任务创建与调度过程。最后总结了FreeRTOS在ESP32上的进阶应用方向,包括多核任务分配、消息队列等高级功能,为嵌入式开发者提供了充分发挥ESP32硬件性能的有效方法。

2025-05-28 08:18:11 2067

原创 ESP32入门(二)连接 WiFi 并通过浏览器实现远程点灯

我们可以在网页中添加控制按钮,当点击按钮时,浏览器会向服务器发送特定的指令,服务器接收到指令后,通过控制 GPIO 引脚来实现 LED 灯的开关。接下来,我们将开启更有趣的进阶之旅 —— 让 ESP32 连接 WiFi 网络,并通过浏览器远程控制 LED 灯的开关,实现简单的物联网应用。打开手机或电脑上的浏览器,在地址栏中输入刚才记下的 ESP32 的 IP 地址并回车,你会看到一个包含 “ON” 和 “OFF” 按钮的网页。中的搭建步骤进行操作。如果开发板没有集成 LED 灯,按照以下方式连接:​。

2025-05-27 16:08:13 1498

原创 ESP32入门(一)点灯

esp32学习手册

2025-05-27 14:20:42 930

原创 基于STM32与ESP8266的AT命令实现使用MQTT协议与服务器实现订阅与上报数据

1. 乐鑫官方固件下载:ESP-AT|乐鑫科技 (espressif.com.cn)2.官方固件下载:安可信3.固件烧录工具:开发工具清单 | 安信可科技 (ai-thinker.com)

2024-09-08 21:02:42 2106 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除