clangd 禁用所有编译参数报错

clangd 禁用所有编译参数报错

写在前面 因为本人喜欢用现在非常受欢迎的neovim版本lazyvim,所以编辑esp32(esp idf)项目时,发现一个很强迫症的问题。 因为esp32项目并非使用clang作为编译器,但是neovim的语言服务器clangd很优秀,所以,直接使用neovim搭配clangd打开esp32项目源

消息缓冲区(Message Buffer)

消息缓冲区(Message Buffer)

Message Buffer 和 Stream Buffer 的不同点 Message buffer 一次只能传输一个一条完整的 Message。 官方函数文档 Message Buffer API [[FreeRTOS_Reference_Manual_V10.0.0.pdf#page=372&s

ESP32 非定向广播

ESP32 非定向广播

以下代码将用最简单的方式来展示 GATT 广播流程。 此方式并非适用于生产环境,仅仅用来理解ESP32的蓝牙非定向广播流程。 首先,包含广播程序需要的头文件 #include "esp_log.h" #include "esp_err.h" #include

位运算

位运算

&,与 含义: 取得被运算的两个值同为 1 的位。 运算方式: 两个位都为1 时,结果才为 1 。 示例: 0 0 1 0 0 0 1 1 --> 0x23(Hex) --> 35(Dec) & 0 1 0 1 0 0 1 0 --> 0x52(Hex) --> 82(Dec) --------

GDB

GDB

GDB Debugger Wiki GDB Wiki ESP32 的环境中运行 GDB 1. 使用blink示例代码 代码示例在esp-idf的get-started目录,这里就不再赘述。 2. 运行openocd openocd -f board/esp32-wrover-kit-3.3v.cfg

GATT 服务器扫描 & 广播

GATT 服务器扫描 & 广播

官方核心文档 3 ADVERTISING STATE [[Core_v5.4.pdf#page=2945&selection=12,0,12,19|Core_v5.4, page 2,945]] 广播流程 非定向广播流程图 3.1 UNDIRECTED ADVERTISING [[Core_v5.4

蓝牙 GATT 协议

蓝牙 GATT 协议

GATT (Generic Attribute Profile)通用属性配置文件 协议是 ATT 的上层协议。 GATT 协议下,将蓝牙设备分为以下两种 Client: 客户端。 发送命令(command)、请求(request)、确认信息(confirmation)给服务端。 Server:服务端

蓝牙 GAP 协议

蓝牙 GAP 协议

蓝牙核心协议文档 2.4.3 Part C: Generic Access Profile [[Core_v5.4.pdf#page=138&selection=14,0,14,36|Core_v5.4, page 138]] 蓝牙 GAP,即 Generic Access Profile,通用访问

GATT 广播数据

GATT 广播数据

官方核心文档 11 ADVERTISING AND SCAN RESPONSE DATA FORMAT [[Core_v5.4.pdf#page=1353&selection=12,0,13,6|Core_v5.4, page 1,353]] 广播数据格式 广播数据分为: 有效数据部分 有效数据部分