用stm32f407 + W5500 一直无法ping通

2019-07-20 12:00发布

用stm32f407 + W5500 一直无法ping通(用F103跑得正常,移植到407就不行了),新的IP无法写到w5500里去,好像SPI通信出问题,但一直找不出原因,谁有例程,能发来参考下,谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
Jackwu
2019-07-20 15:15
原程序在F103上有一个发送1字节函数:
void SPI1_Send_Byte(unsigned char dat)
{                                          
    while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET){}
       
        SPI_I2S_SendData(SPI1, TxData);                                     
}
现改为像原子哥的读写形式就能ping通了,如下所示:但在F103上就可以正常运行,为什么在F407就不可以呢?这点还是不明白:
u16  SPI1_Send_Byte(unsigned char dat)
{                                          
    while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET){}
       
        SPI_I2S_SendData(SPI1, TxData);
    while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET){;}

        return SPI_I2S_ReceiveData(SPI1);                                    
}

一周热门 更多>