找到原因了,低級(jí)錯(cuò)誤。

Uint8 Spi378Exchange(Uint8 data)

{

? while(RESET == (SPI_STAT(ch378_spi)&SPI_FLAG_TBE));? ? ?// 等待SPI發(fā)送為空

? SPI_DATA(ch378_spi) = data;? // 發(fā)送數(shù)據(jù)

? while(RESET == (SPI_STAT(ch378_spi)&SPI_FLAG_TBE));? ? ?// 等待SPI發(fā)送為空

? return(SPI_DATA(ch378_spi));? // 返回接收的數(shù)據(jù)

}

改為如下:

Uint8 Spi378Exchange(Uint8 data)

{

? while(RESET == (SPI_STAT(ch378_spi)&SPI_FLAG_TBE));? ? ?// 等待SPI發(fā)送為空

? SPI_DATA(ch378_spi) = data;? // 發(fā)送數(shù)據(jù)

? while(RESET == (SPI_STAT(ch378_spi)&SPI_FLAG_RBNE));? ? ?// 等待接收到數(shù)據(jù)

? return(SPI_DATA(ch378_spi));? // 返回接收的數(shù)據(jù)

}