HC32F460使用3线SPI驱动W5500与另一端的W5500通信,另一端的主控是GD32F405
HC32F460使用的2.0.0的库文件,还没时间换成3.0.0的库,SPI也还没有使用DMA来接收发送
单独测试对端GD32F405与PC之间通讯,不管开不开DMA,通讯始终正常。
当对端的GD32F405使用普通的SPI驱动W5500时,HC32F460运行正常,通信也没有问题
当对端的GD32F405的SPI开启DMA驱动W5500时,HC32F460跑了一段时间后卡在.S文件的B .处,卡死时间随机的
卡死后,Show Caller Code,出来个0x303c0002等奇怪的地址。
一开始怀疑中断服务函数没有配置,检查下来都是有的。
难道是GD开启DMA后网络速度过快,导致HC32撑不住了?
下面是SPI3的配置
|