
ESP32
文章平均质量分 95
ESP32学习笔记
flashier
一个大二学生罢了,喜欢写点东西
感谢各位拨冗阅读,如发现任何疏漏,敬请斧正
展开
-
ESP32学习笔记_Bluetooth(3)——GATT
这篇博文介绍了 GATT(通用属性配置文件)的相关内容,主要包括 GATT 和 ATT 的关系,GATT 的配置和角色,GATT 配置文件的层次结构,以及服务和特性的定义,同时描述了特性声明、特性值声明和特性描述符的结构和作用。原创 2025-02-24 22:05:09 · 1113 阅读 · 0 评论 -
ESP32学习笔记_Bluetooth(2)——Bluetooth Stack、GAP
这篇博文介绍了 ESP32 蓝牙协议栈的相关内容,主要包括 ESP-IDF 支持的两种蓝牙协议栈(Bluedroid 和 Apache NimBLE),它们各自的特点和适用场景;以及蓝牙系统的整体结构,分为控制器和主机两部分,以及它们的功能模块;最后描述了通用访问配置文件(GAP)的目的、配置文件角色、可发现模式和程序、连接模式和程序、安全模式和程序,以及设备连接建立过程。原创 2025-02-24 13:46:21 · 1072 阅读 · 0 评论 -
FreeRTOS 核心模块初步学习总结与优化
这篇博客对之前发布的FreeRTOS部分内容进行了总结和修正,涵盖了Task、Queue、SoftwareTimer、Semaphore、Event、Notification、StreamBuffer和MessageBuffer等重要模块,在总结过程中修正了自己作为初学者时曾犯的错误,并对文档进行了格式整理,删去了不必要的内容,力求让内容更加简洁、易懂,便于参考原创 2025-01-19 14:21:53 · 1021 阅读 · 0 评论 -
ESP32学习笔记_FreeRTOS(7)——Stream and Message
本文介绍了FreeRTOS中的流缓冲区(StreamBuffer)和消息缓冲区(MessageBuffer)的使用,重点讲解了它们在任务间数据传输中的应用。流缓冲区适用于实时数据流的传输,支持单一写入者和读取者,而消息缓冲区则用于传递定长消息,确保数据传输的精确性。通过详细的函数使用示例,本文帮助开发者理解如何创建、发送、接收以及重置这些缓冲区,从而优化任务间的通信和同步,提升实时系统的数据处理效率原创 2025-01-19 12:59:39 · 966 阅读 · 0 评论 -
ESP32学习笔记_FreeRTOS(6)——Event and Notification
这篇博客详细介绍了FreeRTOS中的事件组和任务通知机制,讲解了事件组如何通过位操作实现任务间的同步与通信,以及任务如何通过通知机制进行阻塞解除和数据传递。博客提供了多个代码示例,展示了如何使用事件组和任务通知在多任务环境中实现任务同步,特别适用于任务间的依赖关系和信号传递原创 2025-01-18 21:32:18 · 1157 阅读 · 0 评论 -
ESP32学习笔记_FreeRTOS(5)——Mutex
这篇博客内容围绕 FreeRTOS 中的互斥量(Mutex)和递归互斥量(Recursive Mutex)的使用进行了详细的介绍。整体结构清晰,涵盖了互斥量的基本概念、使用方式以及与其他同步机制(如二进制信号量)的比较,还提供了两段示例代码,演示了互斥量和递归互斥量在任务同步中的应用原创 2025-01-15 22:52:30 · 1090 阅读 · 0 评论 -
I2C学习笔记
本篇笔记深入总结了I2C协议的基本概念和应用场景。I2C协议作为一种简单的通信协议,其操作流程和数据传输方式相对容易理解,适合作为学习其他更复杂协议的入门。本文结合了I2C的官方文档以及多个设备的技术手册,全面地展示了I2C协议在实际开发中的各个方面,包括其工作原理、优缺点、常见的使用场景和在不同设备中的实现方式。原创 2025-01-07 16:11:43 · 1019 阅读 · 0 评论 -
ESP32学习笔记_FreeRTOS(4)——Semaphore
这篇博客详细介绍了 FreeRTOS 中二值信号量和计数信号量的基本概念、API 使用方法及实际应用场景,辅以完整的示例代码,适合初学者学习原创 2024-12-15 16:51:06 · 689 阅读 · 0 评论 -
ESP32学习笔记_Peripherals(2)——i2C
这篇博客以ESP32的I2C通信为核心,深入讲解了I2C协议基础知识、ESP32硬件支持及其API使用方法,适合嵌入式开发者快速上手I2C编程。文章逻辑清晰,从理论到实践层层展开,涵盖了I2C通信原理、总线特性、上拉电阻的选择等基础内容,并结合ESP-IDF的API对I2C主从模式的安装、卸载、数据读写进行了详尽说明。通过表格和代码示例,详细展示了API参数和返回值的用法,代码部分以ADXL345加速度传感器为案例,提供了完整的初始化和数据读取流程,注释详尽,便于实操应用。原创 2024-12-12 15:14:51 · 1119 阅读 · 0 评论 -
ESP32学习笔记_Peripherals(1)——UART
这篇博客详细讲解了 ESP32 UART 通信的基础知识、配置流程和实践代码,涵盖了 UART 的工作原理、API 使用方法以及实际应用场景,结合完整的代码示例展示了如何与外部设备(如 4G 模块)进行串口通信。内容逻辑清晰,注释详尽,并附有运行调试截图验证效果,实用性强原创 2024-11-28 14:53:21 · 898 阅读 · 0 评论 -
ESP32学习笔记_FreeRTOS(3)——SoftwareTimer
这篇笔记全面介绍了 FreeRTOS 软件定时器的核心概念和使用方法,包括定时器的创建、管理、常用 API 和辅助函数,并通过示例代码演示了如何启动、重置和更改定时器的周期。它强调了软件定时器的灵活性、平台无关性以及与硬件定时器的对比原创 2024-11-26 23:05:03 · 1075 阅读 · 0 评论 -
ESP32学习笔记_FreeRTOS(2)——Queue
在嵌入式系统开发中,任务之间的高效通信是实现多任务协作的关键。FreeRTOS 提供了强大的队列机制,支持任务之间安全、灵活地传递数据,是实现任务同步和事件通知的核心工具。本篇博客将全面解析 FreeRTOS 队列的工作原理和应用场景,从基础操作到高级功能(如队列集合和邮箱)的深入探讨原创 2024-11-24 21:26:45 · 765 阅读 · 0 评论 -
ESP32学习笔记_Bluetooth(1)——蓝牙技术与 BLE 通信机制简介
这篇笔记详细讲解了蓝牙技术的分类、核心架构和通信流程,重点介绍了低功耗蓝牙(BLE)的协议栈、角色划分及连接机制,结合拓扑示例清晰阐述了蓝牙网络配置和操作过程原创 2024-11-24 21:25:13 · 1430 阅读 · 0 评论 -
ESP32学习笔记_FreeRTOS(1)——Task的创建和使用
本文基于 FreeRTOS 和 ESP-IDF,讲解了任务管理、优先级设置、堆栈监控及任务看门狗(IWDT 和 TWDT)等核心功能,涵盖任务创建、挂起、时间片轮转和任务调度等内容。通过代码示例说明如何使用 vTaskList() 获取任务状态,利用 uxTaskGetStackHighWaterMark() 检测栈溢出,以及订阅任务看门狗以监控长时间运行任务。文章详细分析了调度器机制及错误日志,如 TWDT 超时问题,并结合 ESP-IDF 的配置说明(如 Menuconfig 设置)提供优化建议。原创 2024-11-10 20:57:19 · 941 阅读 · 0 评论 -
ESP32外设的简单使用
本文详细讲解了ESP32在Arduino环境下的Wi-Fi、串口通信(UART)、I2C、定时器、蓝牙等功能的使用方法。每个功能模块都包含了关键函数、参数说明、注意事项及代码示例,帮助读者快速掌握ESP32的核心功能。文章还特别强调了编程中的常见问题,例如UART1引脚冲突、中断中避免使用阻塞函数等,避免了在实际项目中遇到的陷阱。整体结构清晰,逻辑流畅,非常适合ESP32初学者和开发者进一步了解和应用。原创 2024-10-31 21:42:19 · 1496 阅读 · 0 评论