4.3.8. Bluetooth Dual-Mode AT Moudle

4.3.8.1. 概述

  • 主要功能是在普通数传BLE和EDR的基础上增加了由上位机或其他MCU可以通过UART对接蓝牙芯片进行基本配置、状态获取、控制扫描、连接断开以及数据收发等操作。

  • AT控制透传支持从机模式和主机模式, 编译的时候只能二选一, 从机模式支持双模, 主机模式只支持BLE。

  • 定义一套串口的控制协议,具体请查看协议文档《蓝牙AT协议》。

  • 支持的板级: br25、br23、bd19、br34

  • 支持的芯片: AC636N、AC635N、AC632N、AC638N

4.3.8.2. 工程配置

代码工程:apps/spp_and_le/board/bd19/AC632N_spp_and_le.cbp

  • 先配置板级board_config.h和对应配置文件中蓝牙双模使能

*/\**
 *  板级配置选择
 */
#define CONFIG_BOARD_AC632N_DEMO       \ *// CONFIG_APP_KEYBOARD,CONFIG_APP_PAGE_TURNER*

#include "board_ac632n_demo_cfg.h"
  • 配置对应的board_acxxx_demo_cfg.h文件使能BLE或EDR(主机不支持EDR), 以board_ac632n_demo_cfg.h为例

#define TCFG_USER_BLE_ENABLE                      1   //BLE功能使能
#define TCFG_USER_EDR_ENABLE                      1   //EDR功能使能
  • 配置app_config.h, 使能AT

//app case 选择,只能选1个,要配置对应的board_config.h
#define CONFIG_APP_SPP_LE                 0
#define CONFIG_APP_AT_COM                 1
#define CONFIG_APP_DONGLE                 0
  • 配置app_config.h, 选择AT主机或AT从机(二选一)

//app case 选择,只能选1个,要配置对应的board_config.h
#define CONFIG_APP_AT_COM 01//AT com HEX格式命令

#define TRANS_AT_COM 0
#define TRANS_AT_CLIENT 1 //选择主机AT

4.3.8.3. 主要说明代码

代码文件 | 描述

明 |

app_at_com.c

任务主要实现,流程 |

at_uart.c

串口配置,数据收发 |

at_cmds.c

AT协议解析处理 |

ble_at_com.c

从机ble控制实现 |

spp_at_com.c

spp控制实现 |

ble_at_client.c

主机ble控制实现 |