劢领AT|五分钟,使用AT指令读写U盘文件
- 实验前准备
- WIFI模块AT指令操作U盘文件
- 例程1:创建文件并写入数据
- 例程2:读取文件中的数据
- 连续读写功能使用
- 其它AT指令
实验前准备
本手册适用于劢领M0R1系列(RDA5981),先将M0R1的WIFI模块GND,DP和DN与实验的U盘D+和D-相连接,U盘使用5V供电,M0R1系列模块支持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+ | 以读/写方式打开一个二进制文件,允许读或在文件末追加数据。 |