我在使用STM32H723ZGT6这个单片机,使用了它的9个uart口,DMA空闲中断接收。uart6收发均使用DMA,其余8个只接收使用DMA。若使用STM32Cube_FW_H7_V1.9.0库,uart口DMA收发均正常。若使用STM32Cube_FW_H7_V1.10.0,uart口DMA接收的时候,DMA内记录接收到数据个数的计数不会自动清零。比如,设置uart接收DMAbuffer大小为1024字节,我每次给单片机发256字节。V1.9.0版本库,正常情况下,串口空闲中断里收到256字节。更换为1.10.0版本库,则DMA第一次收到256字节,第二次提示收到512字节,但前256字节内容全为0,后256字节为我本次发送数据,第三次768字节,第四次1024字节,都是最后256字节有新数据,其余全为0。满1024字节后,再也收不到数据了。
使用1.9.0版本时,stm32cubemx生成ETH+LWIP代码,直接编译出错。使用V1.10.0版本时,ETH+LWIP代码能正常编译,配置MPU后网络能通。
我需要使用9个串口和网口。
现在情况是,使用1.9.0版本,串口能正常工作,网口不行。
使用1.10.0时,网口可以,串口不行。
哪位大神有过类似的经验,能否指点一二,不胜感激~~~~ |