我的这个程序 他可以单独的生成照片 可以单独的用uip的tcp服务器模式发送照片 可是两个一合一起就不行 找不到问题
生成照片就是摄像头的那个生成bmp格式的程序
发送程序是:
else if(tcp_client_sta&(1<<5))//有数据需要发送
{
if(flag==0)
{
f_opendir(&dir,(TCHAR*)"0:/PHOTO");
f_open(&fp,(const TCHAR*)"0:/PHOTO/PIC00000.bmp",FA_OPEN_ALWAYS | FA_READ);
flag=1;
}
res=f_read(&fp,tcp_client_databuf,sizeof(tcp_client_databuf),&bw);
uip_send(tcp_client_databuf,bw);
LCD_ShowString(30,200,200,16,16,"sending");
if(res||bw==0) //
{
LCD_ShowString(60,170,200,16,16,"the file is over");
flag=0;
tcp_client_sta&=~(1<<5);//清除标记
// break;
}
}
调用生成照片和发送的程序是:
if(key||flag)//KEY1按下,TCP Client 请求发送数据
{
if(key==1)
{
key=0;
y=1;
pname=(u8*)name;
camera_new_pathname(pname);
if(bmp_encode(pname,0,0,240,320,0))//拍照有误
{
LCD_ShowString(40,130,240,12,12,"写入文件错误!");
}
else
{
LCD_ShowString(30,190,200,16,16,"zhao xiang cheng gong");
f_mount(0,NULL);
// tcp_client_sta|=1<<5; //标记有数据需要发送
}
}
if(key==2||flag)
{
key=0;
y=0;
f_mount(0,&fs);
while(SD_Initialize()!=0);
if(tcp_client_sta&(1<<7)) //连接还存在
{
LCD_ShowString(30,230,200,16,16,"perpare");
tcp_client_sta|=1<<5; //标记有数据需要发送
}
}
}
两个单独工作都可以实现 只要合起来就不知道哪里的问题
还有一个问题就是用以太网发图片我的150kb的图片 要用1分钟才能发出去? 好慢啊
|