赵怡彬 发表于 2016-12-27 21:24:48

两个stm32进行spi通信的一些问题

上一个贴用while不停地循环没有效果,于是这次换了个方式,可以显示了,只是什么会出现数据丢失的情况,明明我发了10个只收到了3个。图一和图二时主机的主函数和配置。图三和图四时从机的主函数和配置。不知道是我usart的原因还是spi配置的原因还是我main里发送和接受方式的原因。理论上应该是不usart的原因因为我单独测试串口是没问题的。还有我rcc使能是在rcc配置里的,没有写出来。求大神帮忙看看


赵怡彬 发表于 2016-12-27 21:38:33

已经解决了。从机接收main里改成:
        for(i=0;i<10;i++)
        {
                while(SPI_I2S_GetFlagStatus(SPI1,SPI_I2S_FLAG_RXNE)==RESET);
                Buffer= SPI_I2S_ReceiveData(SPI1);
        }       
        for(j=0;j<10;j++)
        {
                while(USART_GetFlagStatus( USART1,USART_FLAG_TC)==RESET);
                USART_SendData(USART1,Buffer);
        }
这样就行了。我把工程放在一个新帖里大家也可以一起学习一下。

andypanfan 发表于 2016-12-28 08:52:47

:lol:lol:lol:lol:lol:lol:lol:lol:lol:lol:lol:lol:lol:lol

leo121_3006061 发表于 2016-12-28 12:09:07

:lol:lol:lol:lol

黑皮男 发表于 2016-12-28 12:50:33

确实,串口发送会暂用比较长的时间

jackten 发表于 2016-12-28 15:44:25

过来学习学习                  

五哥1 发表于 2016-12-28 19:16:32

谢谢分享
页: [1]
查看完整版本: 两个stm32进行spi通信的一些问题