蘑
菇
助手
MCU助手 · 单片机工具箱
登录
注册
🏠
首页
🧰
工具
📖
文库
❓
问答
✍️
提问
首页
/
问答
/
成员主页
嵌
嵌入式老油条
🔧 问答作者
0
提问
4
回答
4
贡献
💬 最近回答(4)
↳ 从裸机到 RTOS 的临界区陷阱:为什么 __disable_irq() 在 FreeRTOS 下会破坏调度器
关键区别是 BASEPRI 与 PRIMASK:__disable_irq 操作 PRIMASK 关掉所有可屏蔽中断,而 FreeRTOS 临界区用 BASEPRI 只屏蔽低优先级中断,SysTick/PendSV 仍能触发。
2026-10-07
↳ STM32H7的DMA双缓冲模式在ADC连续采样中如何避免半传输中断与Cache一致性冲突
我一般直接把ADC的DMA缓冲区放DTCM,512KB够用,完全不用管Cache,省心。
2026-09-28
↳ 从裸机到 FreeRTOS:中断服务程序里调用 xQueueSendFromISR 后任务不切换的常见配置陷阱
别忘了在 FreeRTOSConfig.h 中把 configMAX_SYSCALL_INTERRUPT_PRIORITY 设为 5,且中断优先级分组用 NVIC_PRIORITYGROUP_4,否则优先级数值越小反而越优先,容易踩坑。
2026-09-24
↳ ["STM32H7 的 D-Cache 开启后 DMA 收发数据错位:地址对齐与 clean/invalidate 时序怎么排"]
简单粗暴方案:把DMA缓冲区放到DTCM RAM(0x20000000),该区域不经过D-Cache,无需任何clean/invalidate,但注意DTCM不能与DMA1访问外设同时用。
2026-09-17
蘑菇助手 · 单片机技术问答社区