OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 12487|回复: 16

库函数图片显示困惑

[复制链接]

9

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2011-12-2
在线时间
0 小时
发表于 2012-4-24 15:53:01 | 显示全部楼层 |阅读模式

大家好,帮我看看下面这个库函数图片显示的这个函数

void viewPictures(const char *fileDir){
    DIR dir;
 BOOL result;
 FRESULT res;
 FILINFO fileInfo;
 char *filename;
 char  temp[256];
#if _USE_LFN
    static char lfn[_MAX_LFN + 1];
    fileInfo.lfname = lfn;
    fileInfo.lfsize = sizeof(lfn);


#endif
  while(1)
 {
      res= f_opendir(&dir,  fileDir);
    if(res==FR_OK)
       {   
      for(;;)
   {
            res =f_readdir(&dir,&fileInfo);
         if(res!=FR_OK||fileInfo.fname[0]==0)break;
         if(fileInfo.fname[0]=='.')continue  ;
#if _USE_LFN
            filename = *fileInfo.lfname ? fileInfo.lfname : fileInfo.fname;
#else
            filename = fileInfo.fname;
#endif
            if ( !(fileInfo.fattrib & AM_DIR) )
      {
          strcpy(temp,fileDir);
      strcat(temp,"/");
      LCD_Clear(WHITE);//清屏,加载下一幅图片的时候,一定清屏
            result=AI_LoadPicFile(((u8*)strcat(temp,filename)),0,0,240,320);
            if(result==FALSE) continue;
         }
       }
    } 
  }
  }

我的疑问是这个函数怎么是怎么实现自动扫描下一张图片的?能不能把它改为按键扫描,就是按一次翻阅一张,谢谢高手们

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-4-24 17:15:16 | 显示全部楼层
你去看看f_readdir的介绍。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

9

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2011-12-2
在线时间
0 小时
 楼主| 发表于 2012-4-24 18:01:32 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
那怎么改为每次只读取指定目录下的一个文件呢?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-4-24 20:49:06 | 显示全部楼层
回复【3楼】LOVE STM32:
---------------------------------
还是那句话,好好了解f_readdir.
进而了解fatfs.然后才能随心所欲.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

头像被屏蔽

93

主题

160

帖子

0

精华

禁止发言

积分
457
金钱
457
注册时间
2012-4-3
在线时间
7 小时
发表于 2012-7-15 16:33:53 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-7-15 19:03:23 | 显示全部楼层
同一个按键,可以上下切换,只能在按键处理上做手脚了
比如长按是上一张.短按是下一张.
比如连续按2下是上一张,按1下是上一张.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

头像被屏蔽

93

主题

160

帖子

0

精华

禁止发言

积分
457
金钱
457
注册时间
2012-4-3
在线时间
7 小时
发表于 2012-7-15 20:42:40 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-7-15 23:13:37 | 显示全部楼层
回复【7楼】noip0726:
---------------------------------
显示下一张很简单.
显示上一张,就要东东手了.
给你个提示:
fatfs的dir_sdi函数,在查找上一个项目的时候,比较有用.

//修改此处,方便查找上一个项目
//static
FRESULT dir_sdi (
DIR *dj, /* ointer to directory object */
WORD idx /* Directory index number */
)
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

头像被屏蔽

93

主题

160

帖子

0

精华

禁止发言

积分
457
金钱
457
注册时间
2012-4-3
在线时间
7 小时
发表于 2012-7-16 13:00:06 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-7-16 13:07:47 | 显示全部楼层
readdir只是找下一个的!不能找上一个!
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

头像被屏蔽

93

主题

160

帖子

0

精华

禁止发言

积分
457
金钱
457
注册时间
2012-4-3
在线时间
7 小时
发表于 2012-7-16 14:16:57 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-7-16 15:34:46 | 显示全部楼层
两者需要配合的!
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

头像被屏蔽

93

主题

160

帖子

0

精华

禁止发言

积分
457
金钱
457
注册时间
2012-4-3
在线时间
7 小时
发表于 2012-7-16 17:24:11 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-7-16 17:52:03 | 显示全部楼层
我的实现是这样的:
     rval=f_opendir(&picdir,(const TCHAR*)flistbox->path); //打开选中的目录
if(rval)break;      
dir_sdi(&picdir,flistbox->findextbl[curindex]);
  rval=f_readdir(&picdir,&picinfo);//读取文件信息
if(rval)break;//打开成功    
这里,只需要对curindex进行增减,就可以读取不同位置的文件.
findextbl,是在第一次打开文件夹时依次记录下的所有文件的index索引.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

头像被屏蔽

93

主题

160

帖子

0

精华

禁止发言

积分
457
金钱
457
注册时间
2012-4-3
在线时间
7 小时
发表于 2012-7-17 17:01:37 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-7-17 20:19:38 | 显示全部楼层
回复【15楼】noip0726:
---------------------------------
你的数组多大?
我们的开发板总共20K字节内存.
你开辟一个u16 xx[10K]的数组就全部用完了...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

头像被屏蔽

93

主题

160

帖子

0

精华

禁止发言

积分
457
金钱
457
注册时间
2012-4-3
在线时间
7 小时
发表于 2012-7-17 20:27:41 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-26 18:54

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表