劢领AT|五分钟,使用AT指令读写U盘文件

  • 实验前准备
  • WIFI模块AT指令操作U盘文件
  • 例程1:创建文件并写入数据
  • 例程2:读取文件中的数据
  • 连续读写功能使用
  • 其它AT指令


实验前准备

本手册适用于劢领M0R1系列(RDA5981),先将M0R1的WIFI模块GND,DP和DN与实验的U盘D+和D-相连接,U盘使用5V供电,M0R1系列模块支持U盘热插拔。

android 对U盘进行读写操作拔除后应用died 读取u盘内容_写数据

WIFI模块AT指令操作U盘文件

例程1:创建文件并写入数据

我们在U盘的根目录为/u/,我们要创建一个根目录名称为write_test.txt的文件,在创建前,这个文件是不存在的。

1.打开write_test.txt文件

设置

返回

AT+FOPEN=/u/write_test.txt,at+

+ok

2.写入数据
这里我们读入数据12345667890进行测试

设置

返回

AT+FWRITE=10

当>后输入数据后出现+ok=10。10表示成功发送的数据长度

3.关闭文件

设置

返回

AT+FCLS

+ok

4.将U盘拨出插入电脑,可以看到U盘中已经创建了write_test.txt,打开后可以看到数据为1234567890

例程2:读取文件中的数据

我们先在U盘中创建文件read_test.txt,并且写入数据asdfghjklz,保存关闭文件后,拨出U盘,与WIFI模块连接。
1.打开read_test.txt文件

设置

返回

AT+FOPEN=/u/write_test.txt,r

+ok

2.读取数据
这里我们假设读取的数据长度为1000个字节,实际文件中只有10个字节

设置

返回

AT+FREAD=1000

+ok=10,asdfghjklz。10为实际文件中保存的数据长度

3.关闭文件

设置

返回

AT+FCLS

+ok

连续读写功能使用

当我们需要连续读写数据时,只需要打开文件后,连续读或者写数据即可,数据会按文件流一直读写下去,直到文件中没有数据。

其它AT指令

1.查询U盘是否连接

设置

返回

AT+UDLK

+ok=Connected(Disconnected表示未连接)

2.文件位移功能

设置

返回

AT+FSEEK=0,SET

+ok

参数1:offset

SET: 文件开头

CUR: 当前位置

END: 文件结尾

** 具体可查阅c语言中的fseek函数**

3.关于FOPEN第二参数的使用如下:

字符串

说明

r

以只读方式打开文件,该文件必须存在。

r+

以读/写方式打开文件,该文件必须存在。

rb+

以读/写方式打开一个二进制文件,只允许读/写数据。

rt+

以读/写方式打开一个文本文件,允许读和写。

w

打开只写文件,若文件存在则文件长度清为零,即该文件内容会消失;若文件不存在则创建该文件。

w+

打开可读/写文件,若文件存在则文件长度清为零,即该文件内容会消失;若文件不存在则创建该文件。

a

以附加的方式打开只写文件。若文件不存在,则会创建该文件;如果文件存在,则写入的数据会被加到文件尾后,即文件原先的内容会被保留(EOF 符保留)。

a+

以附加方式打开可读/写的文件。若文件不存在,则会创建该文件,如果文件存在,则写入的数据会被加到文件尾后,即文件原先的内容会被保留(EOF符不保留)。

wb

以只写方式打开或新建一个二进制文件,只允许写数据。

wb+

以读/写方式打开或新建一个二进制文件,允许读和写。

wt+

以读/写方式打开或新建一个文本文件,允许读和写。

at+

以读/写方式打开一个文本文件,允许读或在文本末追加数据。

ab+

以读/写方式打开一个二进制文件,允许读或在文件末追加数据。