初级会员

- 积分
- 112
- 金钱
- 112
- 注册时间
- 2012-5-18
- 在线时间
- 3 小时
|

楼主 |
发表于 2012-8-6 19:05:28
|
显示全部楼层
回复【2楼】正点原子:
---------------------------------
接口函数修改如下:
/*******************************************************************************
* Function Name: MAL_Write
* Description : Write sectors
* Input : None
* Output : None
* Return : 0,OK
1,FAIL
*******************************************************************************/
u16 MAL_Write(u8 lun, u32 Memory_Offset, u32 *Writebuff, u16 Transfer_Length)
{
//u8 STA;
switch (lun)
{
case 0:
//STA=SD_WriteDisk((u8*)Writebuff, Memory_Offset>>9, Transfer_Length>>9);
SPI_Flash_Write((u8*)Writebuff,Memory_Offset,Transfer_Length);
break;
case 1:
break;
default:
return MAL_FAIL;
}
//if(STA!=0)return MAL_FAIL;
return MAL_OK;
}
/*******************************************************************************
* Function Name: MAL_Read
* Description : Read sectors
* Input : None
* Output : None
* Return : 0,OK
1,FAIL
*******************************************************************************/
u16 MAL_Read(u8 lun, u32 Memory_Offset, u32 *Readbuff, u16 Transfer_Length)
{
//u8 STA;
switch (lun)
{
case 0:
//STA=SD_ReadDisk((u8*)Readbuff, Memory_Offset>>9, Transfer_Length>>9);
SPI_Flash_Read((u8*)Readbuff,Memory_Offset,Transfer_Length);
break;
case 1:
break;
default:
return MAL_FAIL;
}
//if(STA!=0)return MAL_FAIL;
return MAL_OK;
}
初始化部分修改如下:
sd_size=(long long)2048*4096;//SD_GetSectorCount()*512; //得到SD卡容量,字节.
Mass_Memory_Size[0]=sd_size%4294967296; //当SD卡容量超过4G的时候,需要用到两个u32来表示
Mass_Memory_Size[1]=sd_size>>32; //容量的高32位
Mass_Block_Size[0] =512; //因为我们在Init里面设置了SD卡的操作字节为512个,所以这里一定是512个字节.
Mass_Block_Count[0]=sd_size/Mass_Block_Size[0]; //得到扇区数
LCD_ShowString(60,150,"USB Connecting..."); //提示SD卡已经准备了
连接电脑后显示使用前必须格式化,但无法格式化也不能在电脑上读写 |
|