我用摄像头按键拍照然后存入SD卡。按一次可以拍一张照片。我得到照片的数据 然后用FATFS建立一个JPG文件写进照片的数据。上电第一次建立照片和写入都是成功的。
void sd_jpeg(void)
{
FRESULT res;
u8 pname[50];
//char *pointer;
UINT i=0;
UINT a = 1;
SD_PWR_ON();
disk_initialize(0);
f_mount(0,&fs);
camera_new_pathname(pname);//等到照片的名字。
tx0:
res = f_open(&JPGE,(const TCHAR*)pname,FA_CREATE_ALWAYS | FA_WRITE);//创建照片
res=f_write(&JPGE, Re_buffer,len1, &a); //写入照片的数据
if(res!=FR_OK)
{
UART1Write((u8*)"\r\n 写照片失败",sizeof("\r\n 写照片失败"));
i++;
if(i>3)return;
goto tx0;
}
else {UART1Write((u8*)"\r\n 写文件成功",sizeof("\r\n 开文件失败"));}
f_close(&JPGE);//关闭照片
f_mount(0,NULL);
SD_PWR_OFF();
跳出do while循环是 r1的值是0xff retry的值是200这是怎么回事?是SD卡的问吗?求高手帮忙分析下 感激不尽
|