[STM32F1] 调试两块板子STM32 SPI DMA主从机通信遇到从机接收数据出错...

[复制链接]
 楼主| zhshw0614 发表于 2016-1-27 14:06 | 显示全部楼层 |阅读模式
调试两块板子STM32  SPI DMA主从通信,主机是STM32F107   SPI3 DMA2通道2主机发送时钟和MOSI波形正常,从机stm32f103 SPI2  DMA1通道4第一次接收是对的,以后几次就会出错,仿真按数据看似有规律,每隔几个数据就是对的。这是我主机发送的数组,
#define BufferSize         32
uint8_t SPI_MASTER_Buffer_Tx[BufferSize] = {0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,
                                             0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,0x10,
                                             0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,
                                             0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,0x20};
从机接收的数据,大家分析一下是什么原因,谢谢
1.png
2.png
gejigeji521 发表于 2016-1-27 15:22 | 显示全部楼层
实在不行就接收后,再返回,然后一致的话发下一个,不一致就重发,然后对每次发的进行编号。
 楼主| zhshw0614 发表于 2016-1-27 15:53 | 显示全部楼层
主机是不断发送数据,数组是我模拟设置的数据,如果这么做的话,做不到高速,不是好方法
DreamofOven 发表于 2016-1-31 10:07 | 显示全部楼层
是不是速度太快了啊,所以容易出错
 楼主| zhshw0614 发表于 2016-1-31 22:21 | 显示全部楼层
DreamofOven 发表于 2016-1-31 10:07
是不是速度太快了啊,所以容易出错

不是的
 楼主| zhshw0614 发表于 2016-1-31 22:28 | 显示全部楼层
只要从机不延时接收数据或者保持与主机时钟同步,数据不会出错。谁还有更好的控制DMA开关的方法么,可以随时开关DMA数据传输,而保证数据不会出错
lovecat2015 发表于 2016-2-1 16:58 | 显示全部楼层
先让波特率慢一些会不会出错呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

113

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部