初级会员

- 积分
- 179
- 金钱
- 179
- 注册时间
- 2014-8-29
- 在线时间
- 11 小时
|
5金钱
买了原子的摄像头,想把采集的像素存放到sd卡里面去,240*360*2个字节的数据..一张图片
然后在FATFS上面移植了摄像头的文件,0v7670.h哪几个.
现在写了两个函数,问题很多啊
void textsd(void)
{
const u8 *pname="0:/picture/picture.bin";
FIL* fsrc; //用来存储文件对象的空结构体的指针
u8 res;
u16 br,num;
u8 buffer[512]; //存放摄像头颜色的数组
u32 j;
u16 color;
fsrc=(FIL*)mymalloc(sizeof(FIL));//申请内存
//**********************************移植的摄像头寄存器版本的**************************/
LCD_Scan_Dir(U2D_L2R); //从上到下,从左到右
LCD_SetCursor(0x00,0x0000); //设置光标位置
LCD_WriteRAM_Prepare(); //开始写入GRAM
OV7670_CS=0;
OV7670_RRST=0; //开始复位读指针
OV7670_RCK=0;
OV7670_RCK=1;
OV7670_RCK=0;
OV7670_RRST=1; //复位读指针结束
OV7670_RCK=1;
num=0;
/************************************************************************************/
res = f_open(fsrc,(const TCHAR*)pname,FA_OPEN_ALWAYS|FA_WRITE);//打开SD卡里面的文件
if(res==0) //打开成功
{
for(j=0;j<76800;j++)
{
GPIOB->CRL=0X88888888;
OV7670_RCK=0;
buffer[num++]=OV7670_DATA; //读数据
color<<=8;
OV7670_RCK=1;
delay_ms(5);
OV7670_RCK=0; //读低八位的时钟信号
buffer[num++]=OV7670_DATA; //读数据
OV7670_RCK=1;
GPIOB->CRL=0X33333333;
if((num>511)||(j>76799))
{
num=0;
res = f_write(fsrc,buffer,sizeof(buffer),(UINT*)&br);
if(res!=0)printf("wrong");
LED0=!LED0;
printf("go on");
}
}
OV7670_CS=1;
OV7670_RCK=0;
OV7670_RCK=1;
LCD_Scan_Dir(DFT_SCAN_DIR); //恢复默认扫描方向
}
f_close(fsrc);
delay_ms(500);
LED0=0;
}
void texttext(void)
{
const u8 *pppname="0:/picture/text.bin";
FIL* fsrc; //用来存储文件对象的空结构体的指针
u8 i,res=1;
UINT br;
DIR dir;
FILINFO fno; //指向文件信息结构体,用来存储读取到的文件信息
unsigned char buffer1[]={"hello!"};
fsrc=(FIL*)mymalloc(sizeof(FIL));//申请内存
res = f_open(fsrc,(const TCHAR*)pppname,FA_OPEN_ALWAYS| FA_WRITE);
if(res==0)
{
for(;;)
{
for(i=0;i<10;i++)
{
res = f_write(fsrc,buffer1,sizeof(buffer1),(UINT*)&br);
printf("xie le yi ci ");
}
if(res== 0)
{
delay_ms(500);
printf("oken");
break;
}
}
f_close(fsrc);
delay_ms(500);
}
}
textsd(void) 只能创建一个文件,完全写不进去东西,
res = f_write(fsrc,buffer,sizeof(buffer),(UINT*)&br);
调试之后是,res=0,不是res=0说明f_write就写成功了吗?,串口就是没打印wrong,但是打开SD卡也没数据写进去..
第二个函数texttext(void)能写的进去, 但他是乱码!!!!??why
大虾们求助 |
|