<img src="http://D:MyTempMYSelfSPI时序.bmp"> <br /><br />毫无钻牛之意!张先生!请帮忙看下代码,附上图说明.请帮指出错误 <br /><br /> /*初始化SPI */<br /> CS = 1;<br /> SPI1C1 = 0x00; <br /> SPI1C2 = 0x00;<br /> //--------------------------------------------<br /> // BUSclk = 4MHz<br /> // SPIClk = 4M/2/2 = 1MHz<br /> SPI1BR = 0x10; <br /> //--------------------------------------------<br /> // SPE = 1 使用SPI接口<br /> // MSTR = 1 SPI为主模式<br /> // CPHA=0,CPOL=0 时钟线平常为低电平,接收数据时在SPICLK的上<br /> // 升沿读取数据<br /> // LSBFE=1,低位先传 <br /> SPI1C1 = 0x51;<br /> (void)(SPI1S == 0); <br /> CS = 1;<br /><br /><br /> <br /> /*向SPI发送数据 */<br /> CS = 0; <br /> //temp = SPI1S;<br /> while (!SPI1S_SPTEF); <br /> SPI1D = port; <br /> while (!SPI1S_SPTEF);<br /> <br /> //temp = SPI1S; <br /> SPI1D = sendData; <br /> while (!SPI1S_SPTEF); <br /> <br /> CS = 1; // 此刻SPIEF已为1,如果置高CS那么如图所示.<br /> // 数据还没有完全发送完,CS就变为高电平<br /><br /> <br /><br /><br /> |
|