OpenEdv-开源电子网

 找回密码
 立即注册
查看: 1912|回复: 1

lvgl8的lv_port_fs.c中 fs_open()的参数没有void * file_p

[复制链接]

30

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
185
金钱
185
注册时间
2020-5-21
在线时间
58 小时
发表于 2022-7-26 21:23:50 | 显示全部楼层 |阅读模式
10金钱
在 lvgl7里,这样写运行正常:
static lv_fs_res_t fs_open (lv_fs_drv_t * drv, void * file_p, const char * path, lv_fs_mode_t mode)
{
   …
   if(mode == LV_FS_MODE_RD)
   FRESULT fres = f_open((FIL *)file_p, path, FA_OPEN_EXISTING | FA_READ);

}
但是在 lvgl8里,是这样的:
void * fs_open(lv_fs_drv_t * drv, const char * path, lv_fs_mode_t mode);
如何去调用 f_open呢?没有file_p。我试了定义一个file_p变量,open失败。急求帮助!

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

使用道具 举报

30

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
185
金钱
185
注册时间
2020-5-21
在线时间
58 小时
 楼主| 发表于 2022-7-30 18:06:19 | 显示全部楼层
在v8中,fs_open()相比v7少了
lv_mem_alloc(sizeof(FIL));

我用模板中定义的void * f = NULL;
改写成:
f=lv_mem_alloc(sizeof(FIL));

return f;
就可以正常调用fs_open和fs_read访问文件了

回复

使用道具 举报

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

本版积分规则

关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 17:32

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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