查看: 401|回复: 0

[应用笔记] NT26U FILE应用指导

[复制链接]

77

主题

118

帖子

1403

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1403
发表于 2023-8-4 10:57:48 | 显示全部楼层 |阅读模式
  1 引言

  本文档主要介绍了NT26U模组相关的AT命令,旨在帮助用户在不同的物理存储媒介上进行文件操作。
  
  NT26U模组支持的物理存储媒介如下:
  (1)UFS:用户文件存储目录,Flash文件系统上的一个特殊目录。
  (2)SD:SD卡目录。

  1.1 FILE命令使用流程

  用户可以参照以下步骤在存储媒介中创建、读取和写入文件:
  第一步,通过AT+QFUPL上传文件至存储媒介,然后通过AT+QFDWL执行串行接口输出/下载文件。
  第二步,使用AT+QFOPEN打开文件后,可写入或读取此文件,直到文件被AT+QFCLOSE关闭。
  (1)使用AT+QFOPEN打开文件时,可以通过参数<mode>将文件设置为覆盖模式、只读模式或其他模式。打开文件后,会分配<filehandle>,然后可以通过<filehandle>操作文件。
  (2)文件打开后,可从当前文件位置通过AT+QFWRITE写入数据至文件,通过AT+QFREAD读取文件数据。
  (3)用户可通过AT+QFSEEK设置文件位置,执行AT+QFPOSITION查询当前文件位置。AT+QFCLOSE用来关闭文件,文件关闭后,<filehandle>就无效了。
  用户可以通过以下几个命令管理存储媒介中的文件:
  (1)AT+QFLDS:获取存储媒介空间信息。
  (2)AT+QFLST:列出存储媒介中的文件信息。
  (3)AT+QFDEL:删除存储媒介中的文件。

  2 FILE命令详解

  2.1 AT命令说明


  2.1.1 定义

  2.1.2 AT命令语句

  前缀或必须加在每个命令行的开头。输入<CR>将终止命令行。通常,命令后面跟随形式为<CR><LF><response><CR><LF>的响应。在本文档中表现命令和响应的表格中,省略了<CR><LF>,仅显示命令和响应。
表2-1 AT命令及响应类型

  2.2 AT示例声明

  本文中的示例仅为方便用户了解命令的使用方法,不构成利尔达通信对终端流程设计的建议或意见,也不代表模组应被设置成相应示例中的状态。某些命令存在多个示例,这些示例之间不存在承接关系或连续性。

  2.3 AT命令详解

  2.3.1 AT+QFLDS获取文件系统空间信息


  该命令用于获取指定存储媒介的空间信息。
  参数
  示例

  AT+QFLDS="UFS"        //查询UFS空间信息。
  +QFLDS:578847, 917503
  OK

  2.3.2 AT+QFLST获取文件系统中的文件信息

  该命令用于获取指定存储媒介的空间信息。

  该命令列出指定存储媒介中的单个或所有文件信息。
  参数
  示例

  AT+QFLST="*"         //列出UFS中所有文件。
  +QFLST:"UFS:1k.txt",1024
  +QFLST:"UFS:2k.txt",2048
  +QFLST:"UFS:3k.txt",3072
  OK

  2.3.3 AT+QFDEL删除文件系统中的文件

  该命令用于删除指定存储媒介中的单个或所有文件。
  参数
  示例

  AT+QFDEL="*"        //删除UFS中所有文件(不删除目录)。
  OK

  AT+QFDEL="1.txt"      //删除UFS中的 1.txt这个文件。
  OK

  2.3.4 AT+QFUPL上传文件到文件系统

  该命令用于上传文件到存储媒介,若上传的文件与存储媒介中的文件同名,则会上报错误。

  执行设置命令并返回CONNECT后,模组会切换为数据模式。当上传的文件大小达到<file_size>,或达到<timeout>时间内无数据输入,模组会自动退出数据模式。
  参数
  注意:
  1.在双栈终端(<;PDP_type>=IPV4V6),<;PDP_addr_2>对应IPv6的地址。对于单个IPv6堆栈终端(<;PDP_type>=IPV6)或者因为向后兼容性,IPv6地址也可包含在参数<;PDP_addr_1>中。<checksum>是基于异或的16位校验和。

  2.如果字符数为奇数,则将最后一个字符设置为高8位,将低8位设置为 0,然后使用XOR运算符计算校验和。+++序列可使TA结束命令并切换到命令模式。之前上传的数据将保留在文件中。
  3.执行命令时,必须在返回CONNECT后输入数据。在硬件流控制不起作用时,ACK模式可避免在上传大文件时数据丢失。

  2.3.5 AT+QFDWL下载文件系统中的文件

  该命令该命令用于从存储媒介中下载指定的文件。
  参数
  注意:
  1.+++序列会使TA结束命令并切换到命令模式。

  2.<checksum>是基于异或的16位校验和。

  2.3.6 AT+QFOPEN打开文件

  该命令用于打开文件并获取命令中使用的文件句柄,相关命令如AT+QFREAD、AT+QFWRITE、AT+QFSEEK、AT+QFPOSITION和AT+QFCLOSE。
  参数
  2.3.7 AT+QFREAD读取文件

  该命令用于读取由文件句柄指定的文件数据。数据从文件指针的当前位置开始读取,文件指针属于文件句柄。
  参数
  2.3.8 AT+QFWRITE写入数据至文件

  该命令可将数据写入到文件。数据从文件指针的当前位置开始写入,文件指针属于文件句柄。
  参数
  2.3.9 AT+QFSEEK设置文件指针位置

  该命令可设置文件指针到指定的位置,可决定这些命令的初始位置,如AT+QFREAD、AT+QFWRITE和AT+QFPOSITION。
  参数
  注意:
  1.若<position>为0且<offset>超过文件大小,执行此命令会返回 ERROR。

  2.若<position>为1且<offset>总文件大小和当前位置的文件指针超过文件大小,执行此命令会返回 ERROR。
  3.若<position>为2,文件句柄将向前移动。

  2.3.10 AT+QFPOSITION获取文件指针偏移量

  该命令可从文件初始位置获取文件指针的偏移量。
  参数
  2.3.11 AT+QFCLOSE关闭文件

  该命令用于关闭文件或结束对文件的操作。关闭文件后,文件句柄会被释放。除非通过AT+QFOPEN再次打开文件,否则不可再次使用文件句柄。
  参数
  3 AT示例

  3.1 上传文件


  AT+QFUPL="test1.txt",10   //上传test1.txt文本文件到UFS。
  CONNECT
  <Input file bin data>
  +QFUPL:10,3938
  OK

  3.2 下载文件

  AT+QFDWL="test.txt"    //从UFS中下载文本文件test.txt。
  CONNECT
  <Output Data>
  +QFDWL:10,613e      //获取已下载数据的字节数与校验和值。
  OK

  3.3 写入和读取文件

  AT+QFOPEN="test.txt",1   //打开文件获取文件指针
  +QFOPEN:1
  OK

  AT+QFWRITE=1,10     //将10个字节写入文件
  CONNECT
  < Write Data >
  +QFWRITE:10,10      //返回实际写入字节数和文件大小
  OK

  AT+QFSEEK=1,0,0     //设置文件指针为文件的初始位置
  OK

  AT+QFREAD=1,10     //读取数据
  CONNECT
  < Read Data >
  OK

  AT+QFCLOSE=1      //关闭文件
  OK

  4 错误代码

  <err>表示与本文档适用模组的文件操作有关的错误码,详细信息可参考表4-1。
表4-1 错误码

  5 术语缩写



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

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

本版积分规则

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