调试两块板子STM32 SPI DMA主从机通信遇到从机接收数据出错的问题

  • 阳光守望者
  • LV0工程师
  • |      2016-01-27 14:16:36
  • 浏览量 1211
  • 回复:10
调试两块板子STM32  SPI DMA主从通信,主机是STM32F107   SPI3 DMA2通道2主机发送时钟和MOSI波形正常,从机stm32f103 SPI2  DMA1通道4第一次接收是对的,以后几次就会出错,仿真按数据看似有规律,每隔几个数据就是对的。这是我主机发送的数组,
#define BufferSize         32
uint8_t SPI_MASTER_Buffer_Tx = {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};
从机接收的数据,大家分析一下是什么原因,谢谢 调试两块板子STM32 SPI DMA主从机通信遇到从机接收数据出错的问题调试两块板子STM32 SPI DMA主从机通信遇到从机接收数据出错的问题
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:10
阳光守望者 2016-02-16
就是中断
0   回复
举报
发布
Eagleson 2016-02-01
中断 或是增加额外的握手?
0   回复
举报
发布
阳光守望者 2016-01-31
这是DMA机制决定的, 只要从机不延时接收数据或者保持与主机时钟同步,数据不会出错。谁有更好的控制DMA开关的方法可以讨论一下
0   回复
举报
发布
771270048 2016-01-31
jilink这个东西不要过度依赖,示波器才是王道
0   回复
举报
发布
fighter 2016-01-29
我也遇到过,应该是jlink的问题。调试时也这样。数据间隔出问题,但是运行时候和打印出来时没问题的。
0   回复
举报
发布
771270048 2016-01-29
SPI 通讯时钟和传输速率要配好,并且主从模式要配好,如果实时性要求高的话,可以使用SPI中断来处理。我记得以前项目里用SPI通讯,调试时需要借助示波器,根据波形来辅助判断。希望对楼主有帮助。
0   回复
举报
发布
野人 2016-01-28
从机都是8899AABB这样重叠的错,请查一下从机的SPI接收配置,尤其是时钟速度、边沿。
0   回复
举报
发布
fighter 2016-01-27
JLINK的问题。。你可以试试将数据通过串口打印出来!!
0   回复
举报
发布
Eagleson 2016-01-27
建议还是将spidma的一些配置代码贴出来,单从结果很难定位问题的
0   回复
举报
发布
Eagleson 2016-01-27

http://www.openedv.com/posts/list/43538.htm    楼主参考下这篇文章

 
 配置NSS引脚,405跟303把SPI配置修改为硬件NSS和TI Mode模式,再Debug就看到从机的接收Buffer上正常的数据。

0   回复
举报
发布
x
收藏成功!点击 我的收藏 查看收藏的全部帖子