打印
[STM32F2]

从机发送不OK

[复制链接]
836|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
spark周|  楼主 | 2016-11-29 22:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现有两块STM32的板子,一个SPI主机,一个SPI从机,
主机发送程序
HAL_Delay(1000);
ucSpi_Tmessage_initial[7]=ucDevice_eChecksum(ucSpi_Tmessage_initial,7);
HAL_SPI_TransmitReceive_IT(&hspi1,ucSpi_Tmessage_initial,ucSpi_Rmessage,1);
while(hspi1.State!= HAL_SPI_STATE_READY);
HAL_SPI_TransmitReceive_IT(&hspi1,&ucSpi_Tmessage_initial[1],&ucSpi_Rmessage[1],1);
while(hspi1.State!= HAL_SPI_STATE_READY);
HAL_SPI_TransmitReceive_IT(&hspi1,&ucSpi_Tmessage_initial[2],&ucSpi_Rmessage[2],1);//ucSpi_Rmessage
while(hspi1.State!= HAL_SPI_STATE_READY);
HAL_SPI_TransmitReceive_IT(&hspi1,&ucSpi_Tmessage_initial[3],&ucSpi_Rmessage[3],1);
while(hspi1.State!= HAL_SPI_STATE_READY);
HAL_SPI_TransmitReceive_IT(&hspi1,&ucSpi_Tmessage_initial[4],&ucSpi_Rmessage[4],1);
while(hspi1.State!= HAL_SPI_STATE_READY);
HAL_SPI_TransmitReceive_IT(&hspi1,&ucSpi_Tmessage_initial[5],&ucSpi_Rmessage[5],1);
while(hspi1.State!= HAL_SPI_STATE_READY);
HAL_SPI_TransmitReceive_IT(&hspi1,&ucSpi_Tmessage_initial[6],&ucSpi_Rmessage[6],1);
while(hspi1.State!= HAL_SPI_STATE_READY);
HAL_SPI_TransmitReceive_IT(&hspi1,&ucSpi_Tmessage_initial[7],&ucSpi_Rmessage[7],1);
while(hspi1.State!= HAL_SPI_STATE_READY);

从机一直送8个字节

简单说就是主机发送0K,主机接收OK,从机接收OK,就是从机发送不OK
沙发
jiaxw| | 2016-11-29 22:20 | 只看该作者
单步调试看看

使用特权

评论回复
板凳
spark周|  楼主 | 2016-11-29 22:22 | 只看该作者
不能单步调试,有没有什么调试SPI的好方法啊,为什么从机发送就是不OK啊

使用特权

评论回复
地板
liliang9554| | 2016-11-29 22:23 | 只看该作者
从机发送出现的什么问题

使用特权

评论回复
5
zhaoxqi| | 2016-11-29 22:24 | 只看该作者
从机数据发送出去了没

使用特权

评论回复
6
spark周|  楼主 | 2016-11-29 22:25 | 只看该作者
确认往DR里写的数据都是我要发送的数据,但发出的数据好像是移位了,还不定是移了几位,1位,3位四位都有过,也有不规律数据,

使用特权

评论回复
7
zhenykun| | 2016-11-29 22:27 | 只看该作者
有时好像第一次通迅时是OK的,后面在发就又不行了

使用特权

评论回复
8
spark周|  楼主 | 2016-11-29 22:29 | 只看该作者
发AC的话,2C,4C,5C都能出来,

使用特权

评论回复
9
新人求带| | 2016-11-30 09:57 | 只看该作者
从机好像就是只能接收的,要想发送,只能切换为主机了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

821

主题

10121

帖子

4

粉丝