萝卜萝卜 发表于 2018-2-21 03:40:22

stm32 spi slave dma 的奇怪问题`

最近在做一个stm32和上位 CPU做SPI通讯的玩意。 stm32做为spi slave ,在有数据的时候,通过gpio触发上位cpu读取spi数据。spi读写部分用dma
现在遇到个很奇怪的问题:上位CPU给stm32发数据的时候,一切都是正常的。 而在stm32触发上位cpu中断,通知上位CPU读取spi数据的时候,数据的第一个字节总是不对。而且很有规律,总为上一个数据包的首字节。。例如
我让stm32发送三个包
第一个包:
1 2 3 4 5
第二个包 :
34567
第三个包“
56789

则接收端收到的确是:
0 2 3 4 5
1 4 5 6 7
3 6 7 8 9

请问这是为啥。

thanks

萝卜萝卜 发表于 2018-2-22 18:33:26

help....

衔胆栖冰 发表于 2018-2-23 09:04:43

很明显第一个字节都不对。①检测主从模式配置是否一致,②降低通信速率试下,③看下有没有设置FIFO,④考虑TI模式......

努力的人 发表于 2018-2-23 11:41:35

我觉得问题出在上位CPU的SPI接收部分,有可能是你GPIO触发导致的,因为每一次都能得到上一次的第一个字节,所以你找找这的问题
页: [1]
查看完整版本: stm32 spi slave dma 的奇怪问题`