
BLE蓝牙开发
文章平均质量分 90
BLE蓝牙开发
天安彩
这个人不懒
展开
-
BLE架构与开源协议栈
这种模式下使用两个ESP32构成完整的蓝牙功能。后来又发现了应该算是老大哥的nordic家的nrf52系列, 用的是它们自己的softdevice协议栈,一主多从支持连接到20个设备,但是它的代码实在太复杂了,虽说代码解耦做得很好,但是后果就是需要去改好多文件,而且基于MDK那古老的界面那的确难受,接着还发现了nordic家新的sdk,也就是基于zephyr的NCS,基于vscode开发的确是舒服了些,但是又涉及到设备树相关的东西,上手难度还是有的(虽然仅做无线开发好像并不需要去改设备树)。原创 2023-09-08 00:03:00 · 2759 阅读 · 3 评论 -
ESP32-C3的存储器类型
内部 SRAM 中不用于指令 RAM 的部分都会作为 数据RAM供静态数据和动态分配(堆)使用。可以看到.bss和.data以及.vector放在了DRAM里,小部分代码.text放在了IRAM里,两部分共占用了内部SRAM的53743字节,剩下的空间用作堆。构成了数据ROM(DROM)。除此之外,可可以通过分区表去设定Flash的分区,存储用户自定义的数据。.rodata是只读数据也就是常量放在了DROM里,大部分代码.text放在了IROM里,两部分共占用了118879字节。原创 2023-09-07 17:33:11 · 676 阅读 · 0 评论 -
ESP32-连接参数/间隔更新
连接间隔是一个协商的过程,这篇文章介绍了连接间隔的更新过程原创 2023-08-13 19:55:25 · 1420 阅读 · 0 评论 -
NRF52系列多个 base uuid 的问题,以client为例。
1. 16bit uuid一定是在128bit uuid的第三和第四个字节,这是标准、是规范。2. 按照规范来设置uuid,那么当只有一个base uuid 时,在对服务的uuid_type和16bit uuid进行对比之后,特性只需要对比16bit uuid即可。3. 如果不按照规范,即服务和特性的base uuid不同时,就需要向协议栈注册多个base uuid,并记录下对应的uuid_type(可以认为是该base uuid在协议栈中的编号)。原创 2023-05-30 13:23:59 · 1693 阅读 · 0 评论