新手上路
- 积分
- 47
- 金钱
- 47
- 注册时间
- 2015-3-11
- 在线时间
- 2 小时
|
5金钱
SD卡程序:参考正点原子的了历程修改的
void lcd_diaplay_piclib(u8 curindex_num,u16 x,u16 y,u16 width,u16 height)
{
piclib_init(); //初始化画图
curindex=curindex_num; //从0开始显示
res=f_opendir(&picdir,(const TCHAR*)"0:/PICTURE"); //打开目录
if(res==FR_OK)//打开成功
{
dir_sdi(&picdir,picindextbl[curindex]); //改变当前目录索引
res=f_readdir(&picdir,&picfileinfo); //读取目录下的一个文件
//if(res!=FR_OK||picfileinfo.fname[0]==0)break; //错误了/到末尾了,退出
fn=(u8*)(*picfileinfo.lfname?picfileinfo.lfname:picfileinfo.fname);
strcpy((char*)pname,"0:/PICTURE/"); //复制路径(目录)
strcat((char*)pname,(const char*)fn); //将文件名接在后面
if(x==0&&y==0)
{ LCD_Clear(BLACK);}
ai_load_picfile(pname,x,y,width,height,1);//显示图片 //ai_load_picfile(pname,0,0,lcddev.width,lcddev.height,1);//显示图片
}
}
在W25Q128的fatfs
void lcd_diaplay_piclib(u8 curindex_num,u16 x,u16 y,u16 width,u16 height)
{ FILINFO tfileinfo;
piclib_init(); //
curindex=curindex_num; //?
res=f_opendir(&picdir,(const TCHAR*)"1:/SYSTEM/SPB/BACKPIC"); //
tfileinfo.lfsize=_MAX_LFN*2+1; //
tfileinfo.lfname=mymalloc(SRAMIN,tfileinfo.lfsize);//
if(res==FR_OK)
{
//ff_enter(picdir.fs);//
dir_sdi(&picdir,picindextbl[curindex]);
res=f_readdir(&picdir,&picfileinfo);
//if(res!=FR_OK||picfileinfo.fname[0]==0)break;
fn=(u8*)(*picfileinfo.lfname?picfileinfo.lfname:picfileinfo.fname);
strcpy((char*)pname,"1:/SYSTEM/SPB/BACKPIC"); //
strcat((char*)pname,(const char*)fn);
if(x==0&&y==0)
{ LCD_Clear(BLACK);}
ai_load_picfile(pname,x,y,width,height,1); //ai_load_picfile(pname,0,0,lcddev.width,lcddev.height,1);
}
}
修改了红色的部分 就不显示了。
|
最佳答案
查看完整内容[请看2#楼]
问题解决了 少了一个”/"符号 这样就可以了 strcpy((char*)pname,"1:/SYSTEM/SPB/BACKPIC/");
|