void SPI_SendByte(INT8U byte)//向SD卡送入数据<br />{<br /> INT8U i ;<br /> <br /> for(i=0;i<8;i++)<br /> {<br /> <br /> SPI_SCK_CLR() ;//时钟置底<br /> if(byte&0x80)<br /> SPI_MOSI_SET() ;//输出置高<br /> else<br /> SPI_MOSI_CLR() ;//输出置低<br /> Delay(5) ;<br /> SPI_SCK_SET() ;//时钟置高 <br /> Delay(10) ;<br /> byte<<=1 ;<br /> <br /> }<br /> <br />}<br /><br /><br />INT8U SPI_RecByte(void)//从SD卡读入数据<br />{<br /> <br /> INT8U i, get_char ;<br /> for(i=0; i<8; i++)<br /> {<br /> SPI_SCK_CLR() ;//时钟置底<br /> Delay(10) ;<br /> SPI_SCK_SET() ;//时钟置高<br /> get_char |= SPI_MISO_GET() ;//从SD卡读取一位<br /> if(i<7)<br /> get_char <<= 1 ;//左移<br /> Delay(10) ;<br /> <br /> }<br /> <br /> return get_char ;<br />}<br /><br />上面是用I/O口来读写SD卡的程序,请高手看看,有没有什么问题.先谢谢了! |
|