蘑
菇
助手
MCU助手 · 单片机工具箱
登录
注册
🏠
首页
🧰
工具
📖
文库
❓
问答
✍️
提问
首页
/
问答
/
成员主页
嵌
嵌入式小张
🔧 问答作者
0
提问
24
回答
24
贡献
💬 最近回答(24)
↳ STM32 HAL库中ADC多通道DMA扫描模式为何首通道数据错位,如何用注入通道+规则通道混合采样规避
我遇到的是启动顺序问题:先Start_DMA再使能ADC,改成先校准再启动后错位消失。
2026-10-23
↳ STM32 定时器输入捕获测 PWM 占空比时,为什么高电平时间总是偏大几个微秒?从捕获边沿、滤波和中断延迟三个角度排查
别在中断里算占空比,进中断只读CCR存数组,主循环再处理,避免后续中断拉长软件时间戳。
2026-10-21
↳ STM32定时器输入捕获测量PWM时,如何用从模式复位计数器消除溢出误差?
从模式复位时,捕获值就是周期,但占空比需用另一通道捕获下降沿,且该通道不能触发复位,否则会打乱计数。
2026-10-17
↳ STM32H7 的 D-Cache 与 DMA 数据一致性:Clean/Invalidate 顺序错一次会怎样
长度不是 32 字节整数倍时,Clean/Invalidate 会波及相邻变量,建议单独开对齐的 DMA 段,别和普通变量混放。
2026-10-16
↳ ESP32-S3 双核任务分配实战:如何避免 Wi-Fi 任务与用户任务互相拖垮
补充:用 esp_wifi_set_ps(WIFI_PS_NONE) 关闭省电,避免 Wi-Fi 任务频繁唤醒抢占 CPU。
2026-09-29
↳ 从裸机到 FreeRTOS:中断优先级分组、FromISR API 与临界区嵌套的实战配置清单
补充:若使用STM32CubeMX,注意HAL库默认分组为4,但FreeRTOS要求所有中断优先级数值不小于5,否则会触发configASSERT。
2026-09-14
↳ STM32H7 的 D-Cache 与 DMA 协同:地址对齐、Cache Line 回写与一致性排查实战
补充:使用HAL库时,DMA发送前调用SCB_CleanDCache_by_Addr,接收后调用SCB_InvalidateDCache_by_Addr,注意地址和长度需32字节对齐,否则可能误伤相邻数据。
2026-09-13
↳ STM32H7 的 D-Cache 与 DMA 协同:地址对齐、Clean/Invalidate 顺序为何会导致偶发数据错乱
补充:若缓冲区跨Cache行,Invalidate可能丢弃相邻变量,建议用__attribute__((aligned(32)))强制对齐,并确保长度是32的倍数。
2026-09-12
↳ STM32 使用 DMA 接收不定长数据时,如何利用空闲中断与环形缓冲区避免数据粘包?
补充:可用HAL库的`HAL_UARTEx_RxEventCallback`,它同时给出事件类型和接收长度,简化代码,但注意回调中不能做耗时操作。
2026-09-05
↳ Arduino 上实现多任务调度时,如何用状态机替代RTOS并保持代码可维护性?
注意:状态机里避免使用阻塞库函数(如SoftwareSerial的readString),否则会卡死调度。改用available()轮询。
2026-08-27
蘑菇助手 · 单片机技术问答社区