硬汉嵌入式论坛

 找回密码
 立即注册
查看: 614|回复: 3
收起左侧

[ThreadX全家桶] fx_media_open打开后操做完需要关闭吗?

[复制链接]

40

主题

113

回帖

233

积分

高级会员

积分
233
发表于 2022-11-21 16:46:03 | 显示全部楼层 |阅读模式
1.用fx_media_open打开一个媒体时间有点长,得有几秒钟时间;
2.是不是打开一个媒体后,操作完毕一个文件,需要用fx_media_close关闭呢?
3.在不关闭媒体的时候,读写操作很快,因为省去了打开的时间,但是比如读取目录的时候(fx_directory_next_full_entry_find)不成功,必须先关闭媒体fx_media_close,然后再打开才能正常读取目录;
4.看来有些操作必须是关闭媒体,重新打开才正常,望各位大佬解答一下;
谢谢!

回复

使用道具 举报

1

主题

75

回帖

78

积分

初级会员

积分
78
发表于 2022-11-22 09:47:04 | 显示全部楼层
不需要关闭的,能否贴一下代码逻辑,以及不关闭media时候的具体表现?
回复

使用道具 举报

40

主题

113

回帖

233

积分

高级会员

积分
233
 楼主| 发表于 2022-11-23 17:01:34 | 显示全部楼层
catro 发表于 2022-11-22 09:47
不需要关闭的,能否贴一下代码逻辑,以及不关闭media时候的具体表现?

void  NorFlash_Available_Bytes(void)
{
  UINT        status;
  ULONG64 available_bytes;
  /* 挂载norflash*/
  if(!NorFlash.open_state)
  {
    status =  fx_media_open(&NorFlash_Media, "NOR DISK", nor_flash_driver, FX_NULL, &NorFlash_Media_Memory, sizeof(NorFlash_Media_Memory));
    if (status != FX_SUCCESS)
    {
      printf("NorFlash Open Fail -- %d\r\n", status);
      return;
    }
    else
       NorFlash.open_state = 1;
  }
  //norflash总容量计算
  available_bytes = (NorFlash_Media.fx_media_bytes_per_sector* NorFlash_Media.fx_media_sectors_per_cluster)*NorFlash_Media.fx_media_total_clusters;
  
  printf("NorFlash总容量大小 -- %2d\r\n", (ULONG)available_bytes);
  /* norflash剩余容量大小 */
  status = fx_media_extended_space_available(&NorFlash_Media, &available_bytes);   
  
  if (status == FX_SUCCESS)
  {
    printf("NorFlash剩余容量大小 -- %02d\r\n",(ULONG)available_bytes);
  }
  else
  {
    printf("file size is err\r\n");
  }
}
不关闭媒体,读取容量不正常,关闭后,在打开读取容量就正常了,其他的还需要验证。
回复

使用道具 举报

58

主题

267

回帖

446

积分

高级会员

积分
446
发表于 2022-11-30 09:41:38 | 显示全部楼层
yihang1004 发表于 2022-11-23 17:01
void  NorFlash_Available_Bytes(void)
{
  UINT        status;

写了之后,使用这个函数强制写入。 然后试试。

fx_media_flush
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-24 02:18 , Processed in 0.151071 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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