OpenEdv-开源电子网

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

综合实验中进入“电子图书”中的“SD卡、FLASH磁盘”,双击进入FLASH磁盘,是执行哪个函数的?用JTAG抓不住。

[复制链接]

1

主题

1

帖子

0

精华

新手入门

积分
25
金钱
25
注册时间
2013-3-7
在线时间
0 小时
发表于 2013-3-7 22:29:22 | 显示全部楼层 |阅读模式
进入“SD卡、FLASH磁盘”界面后,程序一直在while(rval==0)里面循环,但是双击进入FLASH磁盘后,却找不到进入哪个函数执行了。

在if(system_task_return)、if(ebooksta==0) 、if(ebooksta==1)//处于文本阅读状态.三种条件里面的每一个行都设置断点试过,却没有抓住。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------
 while(rval==0)
 {
  tp_dev.scan(0);   
  in_obj.get_key(&tp_dev,IN_TYPE_TOUCH); //得到按键键值  
  delay_ms(5);
  if(system_task_return)      //TPAD返回
  {
   if(ebooksta)      //文件浏览状态,先退出文件浏览
   {    
    memo_delete(tmemo);  //释放内存 
    tmemo=NULL;
    gui_memin_free(pname); //释放内存   
       pname=NULL;
       ebooksta=0;    //回到文件浏览状态
    app_filebrower((u8*)APP_MFUNS_CAPTION_TBL[0][gui_phy.language],0X07); //选择目标文件,并得到目标数量
    btn_draw(rbtn);   //画按钮
    filelistbox_rebuild_filelist(flistbox);//重建flistbox
    system_task_return=0;
   }else break;     
  }
  if(ebooksta==0)       //还未开始文件浏览
  {
   filelistbox_check(flistbox,&in_obj);//扫描文件
   res=btn_check(rbtn,&in_obj);  //扫描返回按键
   if(res)
   {
    if(((rbtn->sta&0X80)==0))//按钮状态改变了
    {
      filelistx=filelist_search(flistbox->list,flistbox->selindex);//得到此时选中的list的信息
     if(filelistx->type==FICO_DISK)//已经不能再往上了
     {    
      break;
     }else filelistbox_back(flistbox);//退回上一层目录 
     } 
   }
   if(flistbox->dbclick==0X81)//双击文件了
   {
        rval=f_opendir(&ebookdir,(const TCHAR*)flistbox->path); //打开选中的目录
    if(rval)break;       
    dir_sdi(&ebookdir,flistbox->findextbl[flistbox->selindex-flistbox->foldercnt]);
     rval=f_readdir(&ebookdir,&ebookinfo);//读取文件信息
    if(rval)break;//打开成功   
    fn=(u8*)(*ebookinfo.lfname?ebookinfo.lfname:ebookinfo.fname);
    pname=gui_memin_malloc(strlen((const char*)fn)+strlen((const char*)flistbox->path)+2);//申请内存
    if(pname==NULL)rval=1;//申请失败
    else
    {
     app_gui_tcbar(0,0,240,20,0x02);     //下分界线
     gui_show_string(fn,2,2,240-2,16,16,WHITE);  //显示文件名
     pname=gui_path_name(pname,flistbox->path,fn); //文件名加入路径 
     rval=f_open(f_txt,(const TCHAR*)pname,FA_READ); //只读方式打开文件
     if(rval)break;//打开成功     
     tmemo=memo_creat(0,20,240,300,0,1,16,f_txt->fsize+1);//申请整个txt这么多的内存加一个. 
     if(tmemo==NULL)
     {
      errtype=1;//内存不足
      break;
     }
      rval=f_read(f_txt,tmemo->text,f_txt->fsize,(UINT*)&br); //读出txt里面的内容 
     if(rval)break;//打开成功     
     memo_draw_memo(tmemo);
    }
    flistbox->dbclick=0;//标记已处理
    ebooksta=1;
   }
  }
  if(ebooksta==1)//处于文本阅读状态.
  {
   memo_check(tmemo,&in_obj);
  }
 }

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-3-7 22:47:50 | 显示全部楼层
回复【楼主位】xjtuxingang:
---------------------------------
那个双击,是由GUI相关代码直接处理的,见:filelistbox.c
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-23 04:20

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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