[STM32F2] 从机发送不OK

[复制链接]
1064|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 | 显示全部楼层
从机发送出现的什么问题
zhaoxqi 发表于 2016-11-29 22:24 | 显示全部楼层
从机数据发送出去了没
 楼主| spark周 发表于 2016-11-29 22:25 | 显示全部楼层
确认往DR里写的数据都是我要发送的数据,但发出的数据好像是移位了,还不定是移了几位,1位,3位四位都有过,也有不规律数据,
zhenykun 发表于 2016-11-29 22:27 | 显示全部楼层
有时好像第一次通迅时是OK的,后面在发就又不行了
 楼主| spark周 发表于 2016-11-29 22:29 | 显示全部楼层
发AC的话,2C,4C,5C都能出来,
新人求带 发表于 2016-11-30 09:57 | 显示全部楼层
从机好像就是只能接收的,要想发送,只能切换为主机了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

821

主题

10121

帖子

4

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