中级会员
 
- 积分
- 388
- 金钱
- 388
- 注册时间
- 2012-12-26
- 在线时间
- 1 小时
|

楼主 |
发表于 2014-3-2 19:54:41
|
显示全部楼层
回复【2楼】ricefat:
估计是文件系统有问题吧,要不然就是目录内文件太多,遍历过程内存占用过大溢出
---------------------------------
根目录下文件夹和文件总共19个,
卡死在这个里面
static void FileOpen(LISTBOX_Handle hFileBrowseListBox,char *buf)
{
u16 i;
FilePath_process(FilePath,buf);
FatFs_Open(FilePath);
for (i = LISTBOX_GetNumItems(hFileBrowseListBox);i > 0;i--){
LISTBOX_DeleteItem(hFileBrowseListBox, i-1);
}
for(i = 0;i < filecount;i++){
LISTBOX_AddString(hFileBrowseListBox, (char*)FileList);
}
}
第一个for循环当i=0x0011时(i初始为0x0019),执行LISTBOX_DeleteItem(hFileBrowseListBox,i-1)时卡死在里面的函数,里面都是uCGUI自己的函数,这个函数是uCGUI提供的API,柯南大侠的这个程序是一样的,但不会死,真搞不懂了,这个函数是在文件浏览器对话框的回调函数里调用的,文件浏览服务堆栈设置为1024了都,还是会出现这个问题,不知是哪里的问题 |
|