找到原因了,低级错误。
Uint8 Spi378Exchange(Uint8 data)
{
? while(RESET == (SPI_STAT(ch378_spi)&SPI_FLAG_TBE));? ? ?// 等待SPI发送为空
? SPI_DATA(ch378_spi) = data;? // 发送数据
? while(RESET == (SPI_STAT(ch378_spi)&SPI_FLAG_TBE));? ? ?// 等待SPI发送为空
? return(SPI_DATA(ch378_spi));? // 返回接收的数据
}
改为如下:
Uint8 Spi378Exchange(Uint8 data)
{
? while(RESET == (SPI_STAT(ch378_spi)&SPI_FLAG_TBE));? ? ?// 等待SPI发送为空
? SPI_DATA(ch378_spi) = data;? // 发送数据
? while(RESET == (SPI_STAT(ch378_spi)&SPI_FLAG_RBNE));? ? ?// 等待接收到数据
? return(SPI_DATA(ch378_spi));? // 返回接收的数据
}