|
谢谢周工,我现在用的是12M的晶振,以下是两个主要寄存器的设置值,不知正确否,现在无论是发送擦除命令还是写命令都是发送指令帧后SD卡返回的回应帧不为0,是4,这是否代表是对方返回非法指令回应呢,<br /> SSPCR0 = 0x0707;<br /> SSPCPSR = 0x2;<br /><br />以下是SPI发送和接收函数<br />void SPI_SendByte (uint8 ucByte)<br />{<br /> uint8 ucDummy;<br /><br /> while (!(SSPSR & 0x02));<br /><br /> SSPDR = ucByte;<br /><br /> while (!(SSPSR & 0x04));<br /><br /> ucDummy = SSPDR;<br />}<br /><br />uint8 SPI_ReceiveByte (void)<br />{<br /> uint8 ucData;<br /><br /> SSPDR = 0xFF;<br /><br /> while (SSPSR & 0x10);<br /> ucData = SSPDR;<br /><br /> return (ucData); <br />}
|