我在做三星2410实验板上做SD卡试验,做到写卡的时候出现了错误,具体是这样 的,程序运行到下面这个if语句的时候就死循环了,之前卡的初始化都是成功的,在这死循环了,这段代码的作用是往卡数据寄存器里面写入发送缓冲区的数据,有高手知道是为什么,在这就死循环了吗?十分感激啊,如果能给与解答。。
i = 0;
while(wt_cnt < 128*blocknum)
{
status = rSDIFSTA;
if((status&0x2000) == 0x2000) //FIFO未满
{
rSDIDAT = *(Tx_buffer + i);
i++;
wt_cnt++;
//Uart_Printf("Dat=%d, wt_cnt=%d\n",*(Tx_buffer+i),wt_cnt);
}
}
------解决方案--------------------
无能为力,自己慢慢调吧,没那闲工夫!