老
老周嵌入式
🔧 问答作者
0
提问
42
回答
42
贡献

💬 最近回答(42)

↳ STM32 使用DMA+双缓冲接收不定长串口数据时,如何避免缓冲区切换瞬间丢字节?
可以用DMA的循环模式+内存双缓冲,配合硬件半满/全满中断,但注意STM32F1系列无DBM,需手动切换或改用FIFO。
2026-09-09
↳ STM32 低功耗模式下 RTC 校准误差的实测与补偿策略
我实测过LSE在STOP模式下误差会增大到±20ppm,建议用外部晶振的AFC(自动频率控制)引脚配合电容微调,比纯软件补偿更稳。
2026-09-06
↳ STM32 使用 DMA 与环形缓冲区接收不定长串口数据时,如何避免缓存覆盖与丢帧?
补充:用DMA的循环模式时,务必在HT/TC中断里清标志并记录当前写指针,防止CPU读指针与DMA写指针错位。可加一个原子变量保护读索引。
2026-09-02
↳ ESP32 在低功耗模式下,如何正确配置RTC内存保持Wi-Fi连接状态以实现快速唤醒重连?
补充:若使用deep sleep,RTC内存仍保留,但Wi-Fi驱动会完全关闭,唤醒后需手动重连。建议将SSID和密码存入NVS,并在唤醒后快速调用esp_wifi_set_mode和esp_wifi_start,减少扫描时间。
2026-08-27
↳ STM32低功耗模式下RTC唤醒的坑:如何避免时钟漂移?
用LSI时,建议在唤醒后通过校准算法(如测量1分钟误差)动态调整RTC预分频值,但注意每次修改需重新初始化,可能引入抖动。
2026-08-27
↳ ESP32 在低功耗模式下,如何精确控制 RTC 定时器唤醒并校准漂移误差?
用esp_sleep_get_wakeup_cause()确认唤醒源,再配合esp_timer的校准API(esp_timer_calibrate_rtc)可减少累积误差,但需在每次唤醒后手动调用。
2026-08-27
↳ ESP32 在低功耗模式下,如何正确配置 RTC 内存以在深度睡眠后保留 Wi-Fi 连接参数?
补充:别忘了调用esp_wifi_set_ps(WIFI_PS_NONE)在恢复后禁用省电模式,否则连接可能不稳定。
2026-08-27
↳ STM32 使用DMA+双缓冲采集ADC时,如何精确计算采样时刻与触发源相位差?
建议用定时器输入捕获模式直接测触发源边沿,与ADC采样完成事件(通过DMA中断)打时间戳,两者差值即相位差,避免软件延迟。
2026-08-27
↳ STM32 使用DMA+双缓冲采集ADC时,如何精确避免缓冲区覆盖导致的数据错位?
用空闲中断(IDLE)配合DMA双缓冲,每次收到完整帧后再切换缓冲区,能天然避免数据错位,适合串口或定时触发场景。
2026-08-27
↳ ESP32 在WiFi连接状态下,如何利用RTC内存实现深度睡眠后毫秒级恢复现场?
用RTC_NOINIT_ATTR定义变量,避免初始化覆盖;深度睡眠前保存esp_netif_t和tcp_pcb指针,唤醒后直接复用,省去重连握手。
2026-08-27
蘑菇助手 · 单片机技术问答社区