STM32H7A3 怎样配置MDMA的硬件触发MDMA_REQUEST_DMA1_Stream0_TC将数据再次转运
请教STM32F103的DMA空闲接收问题
使用stm32cubeide开发h743,准备采用spi flash的方式下载外部norflash
stm32使用hal库数据疑问
STM32H723FDCANT通信
stm32使用hal库开发串口通讯问题
stlinkv2给h7烧录程序一直报这个错,有解决方法吗?
选型,实现USB转2路CAN功能,目前看到STM32F407和STM32H750都有2路CAN,都能实现功能吗?
LPTIM5的事件Lptim5_ait作为14号Trigger input输入到DMAMUX2 Request generator触发BDMA未生成中断问题
STM32H743 HSE 48MHz晶振无法实现
微信公众号
手机版
你可以针对UART的接收buffer做Dcache的无效操作。
ALIGN_32BYTES(static uint32_t UART_BufferBUFFER_SIZE])={0};
SCB_InvalidateDCache_by_Addr (void * addr, uint32_t dsize);
或者针对接收缓冲区做MPU配置,配置其为device属性也可以。
储器区读取数据。相应的库函数代码是SCB_InvalidateDCache();
我用的DMA空闲中断读取,只能在读取后触发中断,如果是读取之前关闭
DCache,岂不是等于一直关闭DCache。读取完一帧数据后,是否还不能打开DCache,因为这样等于下一次读取之前还是打开的
SCB_InvalidateDCache_by_Addr填入的地址应该是哪里的地址?我试过了缓存数组的、还试了DMA的结构体,没有用
[md]UART接收缓冲的地址。
找到问题了,不应该是在DMA接收之前调用,应该在接收之后,这样清除Cache后,其中的数据会回到原始地址
[md]呵呵 OK