用SPI方式和max3100通信,lpc2106做主,CPOL=0;CPHA=0;通信程序如下,数据不对,大家看是什么问题 uint16 MSpiSendData(uint16 m_data) { uint16 Rec_Data; uint16 Rec_DataH,Rec_DataL; IOCLR = CS_SPI; SPI_SPDR = (m_data>>8)&0xff; while(0==(SPI_SPSR&0x80)); //等待SPIF置位,即等待数据发送完毕 Rec_DataH = SPI_SPDR; SPI_SPDR = m_data&0xff; while(0==(SPI_SPSR&0x80)); Rec_DataL = SPI_SPDR; IOSET = CS_SPI; Rec_Data = (Rec_DataH<<8)&0xff00+Rec_DataL; return(Rec_Data); } |