高级会员

- 积分
- 889
- 金钱
- 889
- 注册时间
- 2014-8-16
- 在线时间
- 193 小时
|

楼主 |
发表于 2015-4-30 19:37:06
|
显示全部楼层
回复【2楼】zuozhongkai:
---------------------------------
我现在找出了点眉目
我用了一个任务 代码是这样的
void SDIO_TASK(void *pdata)
{
u8 *buf = my_malloc(512);
u16 i;
while(1)
{
SD_ReadDisk(buf,0,1);
for(i=0;i<512;i++)
{
printf("%2x ",buf);
if((i+1)%32==0)
printf("\r\n");
}
delay_ms(500);
}
}
这样 出来的数据全是0 内存分配没问题 好像问题是在ReadDisk上 系统正常跑。
如果
SD_ReadDisk(buf,8192,1);
SD_ReadDisk返回错误2
然后SDIO_TASK这个任务不执行延时,UCOS也不任务调度。就死在了这个任务上。我现在都该不懂这是情况了 |
|