智能车制作

标题: nrf51822与stm32f103进行SPI通讯问题请教 [打印本页]

作者: 小七12721    时间: 2017-11-9 14:46
标题: nrf51822与stm32f103进行SPI通讯问题请教
最近在做NRF51822和STM32之间的数据通讯。使用SPI协议,将nrf51822设置为主机,STM32作为从机。
1、nrf51822发送一个数值型值给STM32,stm32通过从机中断将数据读出来发送给W5500模块。单个数值型数据验证OK。代码如下:
void SPI2_IRQHandler(void)
{

    if (SPI_I2S_GetITStatus(SPI2, SPI_I2S_IT_RXNE) != RESET)  
        {  
                nrf_message = SPI_I2S_ReceiveData(SPI2);  
        }  
        if(S0_State == (S_INIT|S_CONN))
        {
                S0_Data&=~S_TRANSMITOK;
                memcpy(Tx_Buffer,&nrf_message,1);       
                Write_SOCK_Data_Buffer(0, Tx_Buffer, 1);
        }
}


2、问题是我想通过蓝牙主机发送字符串,我将nrf51822的MOSI,MISO接在一起,发现字符串传输是OK的。但是使用杜邦线将NRF51822和stm32 SPI接口连接后,发现使用如下代码接收到的数据并不对。
void SPI2_IRQHandler(void)
{

    if (SPI_I2S_GetITStatus(SPI2, SPI_I2S_IT_RXNE) != RESET)  
        {  
                nrf_message[iii++] = SPI_I2S_ReceiveData(SPI2);  
        }  
        if(iii >= 20)
        {
                iii = 0;
                gSPI_FlagOver = FLAG_VALID;
        }
}

意思就是蓝牙发送来的数据长度为20个字节,接收满20个字节后置标志位在发送给W5500模块。这个一直存在问题,请论坛的大大们帮忙看下,STM32的SPI从模式到底该怎么搞???

作者: 小七12721    时间: 2017-11-9 14:50
大大们,给点建议呐,stm32 SPI从机都搜不到什么例程




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2