[Emot]1[/Emot]采用模拟SPI方式控制SD卡,根据硬件对相应的IO进行设置,WR#,RD#接地其余空悬。确认硬件联系连接酶问题。但是却连初始化都不行,返回的一直都是0xff;
void main( void ) { UINT8 i;
//mDelay_50mS( ); //mDelay_50mS( );
Uart_Init( ); //串口初始化 CH376_PORT_INIT(); printf("start \n"); xWriteCH376Cmd(CMD11_CHECK_EXIST); //做测试命令,检测硬件连接,以及接口程序是否正确。 xWriteCH376Data(0x55); i = xReadCH376Data( ); //正常应该返回0xaa xEndCH376Cmd(); printf("%02x \n",(UINT16)i);
xWriteCH376Cmd(CMD11_SET_USB_MODE);//设置USB的内置固件,设备模式 xWriteCH376Data( 2 ); for(i=50;i!=0;i--) { if(xReadCH376Data( ) == CMD_RET_SUCCESS) break; //如果模式设置成功,则返回CMD_RET_SUCCESS } xEndCH376Cmd(); while(1) { if(Query376Interrupt() != 0 ) CH376_INT_TRANS( ); } }
相应的程序如上,调用了官方的程序。小弟十分想不明白。希望各位高手指点一二。 可以的话,能否发个51模拟SPI的读写SD卡的程序呢。邮箱:个人信息保护,已隐藏