- 博客(10)
- 收藏
- 关注
原创 在ESP32中使用外部RAM(PSRAM)来存储全局变量
在ESP-IDF的`menuconfig`中,进入`Component config` -> `ESP32-specific`,然后选择`Support for external, SPI-connected RAM`选项来启用外部RAM支持。- 你可以调用`heap_caps_malloc_extmem_enable(size_t limit)`函数来启用malloc()在外部内存中的分配,并设置一个限制,小于该限制的malloc()请求将被放置在内部内存中。这样可以将这些变量放入外部RAM中。
2024-12-26 15:57:48
1893
原创 BLE GAP 三种广播模式的区别
总结来说,BLE_GAP_CONN_MODE_NON是用于不可连接的广播,BLE_GAP_CONN_MODE_DIR是用于定向可连接的广播,而BLE_GAP_CONN_MODE_UND是用于无向可连接的广播。每种模式都有其特定的应用场景,开发者可以根据实际的应用需求选择合适的广播模式。
2024-12-11 14:47:04
320
原创 仅保持蓝牙连接状态下的低功耗的实现,ESP32S3 IDF版本 5.2 Blufi protocol基础上修改
adv_params ,其中有两个变量 .adv_int_min 和 .adv_int_max,这 两个参数影响着广播间隔,可设置范围为 0x20~0x4000,广播时间间隔为 Time = N * 0.625 ms。
2024-11-26 09:07:26
1274
原创 esp32 power save 案例学习
->阻塞在此,等待gpio_isr_handler的Queue。main task走到Exit power manage,禁止sleep,逻辑是isr 发queue到gpio task做按键的处理,之后设置。enter_power_manage()开始sleep。Some task to do, 之后重新进入。后,禁止sleep,继续循环到。
2024-11-23 16:33:22
887
原创 ESP32S3 进入Sleep后USB CDC 无法输出的问题
还是飞线飞出RX/TX,找出古董牌的USB转UART Cable,才能正常在sleep 唤醒后读到log输出。无论如何修改软件,拉低D+之类的,都是无法通过软件在sleep 唤醒后重新使能USB CDC 串口输出。
2024-11-20 14:33:36
243
原创 ESP32 Sleep mode相关函数使用esp_pm_lock
是一个ESP-IDF中的API函数,用于初始化一个电源管理锁的句柄。这个锁可以用来控制ESP32-S3的电源管理参数,以确保在特定任务执行期间,电源管理算法不会切换到指定的低功耗模式。这个函数是ESP-IDF电源管理框架的一部分,允许开发者在需要的时候锁定CPU频率或禁止轻睡眠,以保证应用程序的某些部分能够稳定运行。是两个与电源管理相关的API函数,它们用于控制ESP32-S3的电源管理策略。),并且正确处理锁的获取和释放,以避免电源管理策略的冲突。在ESP32-S3中,
2024-11-20 14:28:13
451
原创 ESP32 退出light sleep 后esp_pm_lock_acquire(s_pm_cpu_lock) Assert
标记的数据放置在RTC快速内存中。如果启用这个选项,标记的数据将被放入RTC快速内存中;这些数据将被保留在RTC内存中,即使在ESP32从睡眠模式唤醒后也能保持其值。是一个特殊的属性,用于指示编译器将变量存储在RTC内存中,这样即使在ESP32进入睡眠模式,这些数据也不会丢失。属性来标记那些需要在深睡眠(deep sleep)或light sleep模式下保持的数据。属性来标记那些需要在睡眠模式下保持的数据。:确保在编译和上传程序时包含了这些设置,这样。标记的数据就会被正确地放置在RTC内存中。
2024-11-20 14:26:46
286
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人