|
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
|