• 正文
    • 1. 概述
    • 2. AT指令格式
    • 3. 主要AT指令分类及功能
    • 4. 其他函数说明
    • 5. 总结
  • 相关推荐
申请入驻 产业图谱

富芮坤FR306x_SDK AT指令功能详细说明文档

02/06 14:43
267
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

1. 概述

本文档详细描述了富芮坤FR306x_SDK 中定义的AT指令及其功能。这些指令主要用于蓝牙(BLE)设备的控制和管理,涵盖了设备连接、断开、音频控制、媒体控制、网络配置等多个方面。

因为原厂没有AT指令功能详细说明文档,说来也奇怪,有了代码,还没有功能说明,不是先有功能需求说明,才开发代码吗?

指令分类

  • 基本指令 (A系列)
  • 蓝牙连接管理 (B系列)
  • 电话和语音控制 (C系列)
  • 媒体控制 (E系列)
  • 其他杂项功能 (D系列)
  • 网络通信 (P系列)

2. AT指令格式

所有AT指令以 AT# 开头,后跟具体的命令字符和参数。每个指令的具体格式如下:

AT#<Command><SubCommand>[Parameters]

<Command>:主命令字符(如A, B, C等)

<SubCommand>:子命令字符(如A, B, C等)

[Parameters]:可选参数,具体取决于命令

3. 主要AT指令分类及功能

3.1 命令组 A (app_at_recv_cmd_A)

处理与底层硬件或协议相关的命令。

A:发送厂商自定义命令。

参数:1个字节的地址值(16进制)

示例:AT#AA01 发送地址为0x01的厂商自定义命令。

B:发送厂商自定义命令。

参数:2个字节的数据(16进制)

示例:AT#BA0102 发送数据为0x01和0x02的厂商自定义命令。

C:发送厂商自定义命令。

参数:4个字节的地址值(16进制)

示例:AT#CA00000001 发送地址为0x00000001的厂商自定义命令。

D:发送厂商自定义命令。

参数:8个字节的数据(16进制)

示例:AT#DA0000000100000002 发送数据为0x00000001和0x00000002的厂商自定义命令。

E:发送特定厂商命令。

参数:无

示例:AT#AE 发送特定厂商命令。

G:打印 "hello world!"。

参数:无

示例:AT#AG 打印 "hello world!"。

H:读取指定地址的32位值并打印。

参数:8个字节的地址值(16进制)

示例:AT#AH00000001 读取地址为0x00000001的32位值并打印。

I:写入指定地址的32位值。

参数:8个字节的地址值和数据(16进制)

示例:AT#AI0000000100000002 写入地址为0x00000001的32位值为0x00000002。

J:读取外设寄存器值并打印。参数:2个字节的地址值(16进制)

示例:AT#AJ01 读取地址为0x01的外设寄存器值并打印。

K:写入外设寄存器值。

参数:2个字节的地址值和数据(16进制)

示例:AT#AK0102 写入地址为0x01的外设寄存器值为0x02。

L:读取指定地址的8位值并打印。

参数:8个字节的地址值(16进制)

示例:AT#AL00000001 读取地址为0x00000001的8位值并打印。

M:写入指定地址的8位值。

参数:8个字节的地址值和数据(16进制)

示例:AT#AM0000000102 写入地址为0x00000001的8位值为0x02。

U:内存转储。

参数:8个字节的起始地址和2个字节的长度(16进制)

示例:AT#AU0000000108 从地址0x00000001开始转储8个字节。

V:擦除闪存

参数:8个字节的起始地址和8个字节的长度(16进制)

示例:AT#AV0000000100000008 从地址0x00000001开始擦除8个字节。

Y:打印内存使用情况。

参数:2个字节的类型(16进制)

示例:AT#AY01 打印类型为0x01的内存使用情况。

3.2 蓝牙连接管理命令组 B (app_at_recv_cmd_B)

处理蓝牙设备的基本操作,如连接、断开、扫描等。

A:创建音频链接。

参数:无

示例:AT#BA00 创建音频链接。

B:停止广播。

参数:1个字节的状态(16进制)

示例:AT#BB01 停止广播。

C:开始扫描。

参数:无

示例:AT#BC 开始扫描。

D:停止扫描。

参数:无

示例:AT#BD 停止扫描。

E:连接到指定设备。

参数:12个字节的MAC地址和1个字节的地址类型(16进制)

示例:AT#BE0123456789ab_01 连接到MAC地址为01:23:45:67:89:ab且地址类型为0x01的设备。

F:断开连接。

参数:无

示例:AT#BF 断开连接。

H:发起查询。

参数:无

示例:AT#BH 发起查询。

I:取消查询。

参数:无

示例:AT#BI 取消查询。

J:创建服务链接。

参数:12个字节的MAC地址(16进制)

示例:AT#BJ0123456789ab 创建服务链接。

K:创建编解码器连接。

参数:1个字节的类型(16进制)

示例:AT#BK01 创建编解码器连接。

L:删除Flash数据库中的链接密钥。

参数:无

示例:AT#BL 删除Flash数据库中的链接密钥。

N:连接到指定设备(HF+A2DP_SINK)。

参数:12个字节的MAC地址(16进制)

示例:AT#BN0123456789ab 连接到MAC地址为01:23:45:67:89:ab的设备(HF+A2DP_SINK)。

O:连接到指定设备(HFG+A2DP_SOURCE)。

参数:12个字节的MAC地址(16进制)

示例:AT#BO0123456789ab 连接到MAC地址为01:23:45:67:89:ab的设备(HFG+A2DP_SOURCE)。

P:断开连接(不保存连接信息)。

参数:12个字节的MAC地址(16进制)

示例:AT#BP0123456789ab 断开连接(不保存连接信息)。

Q:断开连接(保存连接信息)。

参数:12个字节的MAC地址(16进制)

示例:AT#BQ0123456789ab 断开连接(保存连接信息)。

R:连接到最后一个已连接设备。

参数:无

示例:AT#BR 连接到最后一个已连接设备。

S:进入配对模式。

参数:无

示例:AT#BS 进入配对模式。

T:退出配对模式。

参数:无

示例:AT#BT 退出配对模式。

U:断开配对并连接到指定设备。

参数:12个字节的MAC地址(16进制)

示例:AT#BU0123456789ab 断开配对并连接到MAC地址为01:23:45:67:89:ab的设备。

V:断开当前连接。

参数:无

示例:AT#BV 断开当前连接。

X:连接到指定设备(自定义配置文件)。

参数:12个字节的MAC地址和1个字节的配置文件(16进制)

示例:AT#BX0123456789ab01 连接到MAC地址为01:23:45:67:89:ab的设备(自定义配置文件)。

Y:断开音频链接。

参数:无

示例:AT#BY 断开音频链接。

Z:设置主角色。

参数:无

示例:AT#BZ 设置主角色。

3.3 电话和语音控制命令组 C (app_at_recv_cmd_C)

处理蓝牙电话相关的命令。

A:接听电话。

参数:无

示例:AT#CA 接听电话。

B:挂断电话。

参数:无

示例:AT#CB 挂断电话。

C:重拨。参数:无

示例:AT#CC 重拨。

D:拨打电话。

参数:最多15个字节的电话号码(ASCII)

示例:AT#CD1234567890 拨打号码为1234567890的电话。

E:列出当前通话。

参数:无

示例:AT#CE 列出当前通话。

F:切换SCO连接。

参数:无

示例:AT#CF 切换SCO连接。

G:发送DTMF音。

参数:1个字节的DTMF音(ASCII)

示例:AT#CG1 发送DTMF音为'1'。

H:报告扬声器音量。

参数:1个字节的音量值(16进制)

示例:AT#CH0a 报告扬声器音量为0x0a。

I:发送HF命令。

参数:无

示例:AT#CI 发送HF命令。

J:启用/禁用语音识别

参数:1个字节的状态(16进制)

示例:AT#CJ01 启用语音识别。

K:检查语音识别状态。

参数:无

示例:AT#CK 检查语音识别状态。

Z:发送时钟命令。

参数:无

示例:AT#CZ 发送时钟命令。

3.4 其他杂项命令组 D (app_at_recv_cmd_D)

处理其他设备操作。

A:擦除闪存。

参数:8个字节的起始地址和4个字节的长度(16进制)

示例:AT#DA0000000100000004 从地址0x00000001开始擦除4个字节。

B:枚举记录。

参数:无

示例:AT#DB 枚举记录。

C:删除记录。

参数:12个字节的MAC地址(16进制)

示例:AT#DC0123456789ab 删除MAC地址为01:23:45:67:89:ab的记录。

D:发送HCI命令。

参数:无

示例:AT#DD 发送HCI命令。

3.5 蓝牙多媒体命令组 E (app_at_recv_cmd_E)

处理蓝牙媒体控制命令。

A:播放。

参数:无

示例:AT#EA 播放。

B:暂停。

参数:无

示例:AT#EB 暂停。

C:下一曲。

参数:无

示例:AT#EC 下一曲。

D:上一曲。

参数:无

示例:AT#ED 上一曲。

E:设置音量。

参数:1个字节的音量值(16进制)

示例:AT#EE0a 设置音量为0x0a。

F:获取媒体信息。

参数:无

示例:AT#E

F 获取媒体信息。G:获取播放状态。

参数:无

示例:AT#EG 获取播放状态。

K:启动A2DP流。

参数:无

示例:AT#EK 启动A2DP流。

L:暂停A2DP流。

参数:无

示例:AT#EL 暂停A2DP流。

M:启动双A2DP流。

参数:无

示例:AT#EM 启动双A2DP流。

3.6 网络通信命令组 P (app_at_recv_cmd_P)

处理网络相关命令(仅在BTDM_STACK_ENABLE_PAN启用时有效)。

A:打开PAN连接。

格式:AT#PA

功能:打开与最后一个已连接的蓝牙设备的PAN连接。

示例:AT#PA

B:创建UDP客户端并连接。

格式:AT#PB<IP地址>_<端口号>

功能:创建一个UDP客户端并连接到指定的IP地址和端口号。

示例:AT#PB192_168_001_100_8080

C:发送UDP数据。

格式:AT#PC

功能:通过已连接的UDP客户端发送数据。

示例:AT#PC

D:创建TCP客户端并连接。

格式:AT#PD<IP地址1>_<IP地址2>_<IP地址3>_<IP地址4>_<端口号>

功能:创建一个TCP客户端并连接到指定的IP地址和端口号。

示例:AT#PD192_168_000_071_02333

E:测试DNS解析。

格式:AT#PE

功能:测试DNS解析功能,尝试解析预定义的主机名。

示例:AT#PE

F:发送TCP数据。

格式:AT#PF<标志位>

功能:通过已连接的TCP客户端发送数据,并指定发送标志。

示例:AT#PF1

G:关闭TCP连接。

格式:AT#PG

功能:关闭已连接的TCP客户端。

示例:AT#PG

4. 其他函数说明

app_at_cmd_recv_handler:根据接收到的命令调用相应的处理函数。

功能:根据接收到的命令字符,调用相应的命令处理函数。

参数:

data:接收到的数据缓冲区。

length:数据长度。

app_at_recv_c:处理接收到的单个字符,构建完整的AT指令。

功能:逐字符接收数据,构建完整的AT指令,并在指令完成后调用事件处理函数。

参数:

c:接收到的字符。

app_at_rx_done:UART接收完成回调函数。

功能:在UART接收完成后调用,处理接收到的字符,并继续接收下一个字符。

参数:

handle:UART句柄。

app_at_init:初始化AT指令处理模块。

功能:初始化AT指令处理模块,启动UART接收中断。

参数:

handle:UART句柄。

5. 总结

上述AT指令提供了对蓝牙设备的全面控制,包括连接管理、音频控制、媒体控制、网络配置等功能。通过这些指令,用户可以方便地进行设备调试和功能测试。每个命令都有详细的格式和功能描述,便于开发者理解和使用。此外,其他辅助函数确保了AT指令处理模块的正常运行,使得整个系统更加健壮和可靠。

希望这份文档能够帮助您更好地理解和使用富芮坤FR306x_SDK的AT指令。

富芮坤

富芮坤

上海富芮坤微电子有限公司成立于2014年,是一家致力于射频集成电路芯片的设计、研发及产品销售的高新技术企业。

上海富芮坤微电子有限公司成立于2014年,是一家致力于射频集成电路芯片的设计、研发及产品销售的高新技术企业。收起

查看更多
点赞
收藏
评论
分享
加入交流群
举报

相关推荐

登录即可解锁
  • 海量技术文章
  • 设计资源下载
  • 产业链客户资源
  • 写文章/发需求
立即登录