|
这两天做个新产品用到了STM32H743ZIT6 采集6路ADC信号,通过DMA 方式方式读取ADC数组中的值,现在有个问题,单步执行的时候ADC数组中的值都是对的,系统全速运行时,会有数据变成0xff,而且不一定,什么时候出问题,看示波器上该信号是没有0xff这种可能性的,程序中用了cache, 采用了 正点原子例程里的cache 透传的方式。 void CPU_CACHE_Enable(void) { / Enable I-Cache / SCB_EnableICache(); / Enable D-Cache / SCB_EnableDCache(); SCB->CACR|=1<<2; } 看到有人讲要把cache清零 cache 无效化操作,但不知道这些操作应该在何时进行,譬如cache清零函数,应该何时清,是在dma中断来的时候清吗?还是在回调函数读出数据再清。 顺便说一下 我用的库是STM32CubeHV1.3.0 不知道新的库会不会兼容性更好 有链接吗 想用新的库 |
可以参考一下官方例程,都是在回调函数里做无效化操作。 因为通常代码逻辑要都是在这后面才开始使用这些数据的。这里注意,buffer 地址要对齐。
|
STM32H743使用Keil V6(AC6)编译FreeRTOS报错__forceinline未定义及CMSIS-RTOS2配置错误,如何解决?
NUCLEOh753zi
在STM32CubeIDE 中用sprintf,printf总感觉差点什么
stm32H745 M4核不能调试和下载
关于H750VB的SDMMC开启DMA读写SD卡
FDCAN如何处理大于64帧字节的数据
stm32h745 调试问题
天气很凉爽
FLM算法文件工程代码需要特别注意什么吗?
STM32H7电源问题
微信公众号
手机版