首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > WinCE >

怎么进行SD卡读写

2012-03-11 
如何进行SD卡读写?直接写到SD卡里面,而不是写成一个文件![解决办法]不通过文件系统,只能驱动来实现具体不

如何进行SD卡读写?
直接写到SD卡里面,而不是写成一个文件!

[解决办法]
不通过文件系统,只能驱动来实现

具体不清楚
[解决办法]
如果是driver,可以直接给SD卡发命令。
如果是app,也可以直接写SD卡的物理扇区。

如:

C/C++ code
HANDLE hFile = CreateFile(_T("//./DSK1:"), GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_FLAG_WRITE_THROUGH, NULL);   if (hFile == INVALID_HANDLE_VALUE)   {       return;   }    BYTE buffer[512];   for(int i=0;i < 512;i++)   {       buffer[i] = 0xA5;   }   SG_REQ SG_req1;   SG_req1.sr_start = 0;   SG_req1.sr_num_sec = 1;   SG_req1.sr_num_sg = 1;   SG_req1.sr_status = 0;   SG_req1.sr_callback = NULL;   SG_req1.sr_sglist[0].sb_len = 512;   SG_req1.sr_sglist[0].sb_buf = buffer;   DWORD actnum = 0;   if(!DeviceIoControl(hFile,IOCTL_DISK_WRITE,&SG_req1,  sizeof(SG_req1),0,0,&actnum,0))   {       MessageBox(_T("失败!"));   }   else   {       MessageBox(_T("成功!"));   } 

热点排行