F1DC2706双模数据透传蓝牙模块AT指令使用介绍

前言

由韩国F1-Media公司生产的F1DC2706双模数据透传蓝牙模块拥有体积小而且可连接距离远等特点,它集成有经典蓝牙和BLE两种模式,另外单芯片不加PA的情况下实现10dBm的发射功率,使用同样的手机或平板电脑,普通的BC417系列模块的可连接距离一般为10米左右,而F1DC2706模块的可连接距离可达到25米,而且传输速率更高。本篇文章将使用F1DC2706 验证套件配合介绍此模块的AT指令使用。
在这里插入图片描述

AT指令介绍

用户可以通过AT指令对F1DC2706模块的参数进行查询和配置,指令包括有查询和更改蓝牙名称、查询本地地址和匹配地址、搜索和连接设备、查询和更改波特率以及连接最后一次匹配的设备等等。

AT指令格式
AT+CMD\r
其中"CMD" 表示具体的指令,"\r" 表示回车,ASCII码13,注意不可以"\n" 结尾。

下面是F1DC2706 AT指令的汇总,适用模块的固件版本为v1.1.2。
在这里插入图片描述

AT指令验证测试

硬件准备:
将F1DC2706 EVM连接配套的USB-TTL,然后将USB-TTL插入PC的USB口或HUB。此时可以看到验证模块上的“STATE”工作指示灯间隔1秒左右闪烁一次,表面模块在正常工作,另外“LINK”连接指示灯是熄灭的。
在这里插入图片描述
软件准备:
打开F1-Media专门为F1DC2706定制一个AT指令测试串口助手,界面如下,选择刚插入的USB-TTL对应的串口号,然后点击Open。在这里插入图片描述
AT指令格式
AT+CMD\r
其中"CMD" 表示具体的指令,"\r" 表示回车,ASCII码13,注意不可以"\n" 结尾。

AT指令使用举例
1) SPP设置本模块的蓝牙名称
在这里插入图片描述
修改蓝牙名称操作如下,
在这里插入图片描述
2)查询SPP蓝牙名称
在这里插入图片描述
设置新的蓝牙名称后,可以通过查询指令确认是否已经修改成功。
在这里插入图片描述

3) 获取本地地址
在这里插入图片描述
具体收发如下:
在这里插入图片描述
4) SPP搜索周围的蓝牙设备
在这里插入图片描述
搜索操作实例如下
在这里插入图片描述
5) SPP按地址连接蓝牙设备
在这里插入图片描述
按照上一步的搜索操作,在测试串口助手的右下角框显示需要连接的设备,点击该设备地址后,然后点击CONNECT按钮。连接成功后会返回"+B_CONN 0019014E41F6,F1DC2706-BT-4E41F6" ,此时“LINK”指示灯(绿色)会常亮,如果当连接断开后,此指示灯会熄灭。另外,如果失败了,只返回指令响应"OK"。
在这里插入图片描述

6) 获取最后一次匹配的地址
在这里插入图片描述
下面查询上一次连接设备的地址具体操作,
在这里插入图片描述
上面列一些常用指令操作的方法,如需了解更多指令,请查看《201211_F1DC2706_ATCOMMAND_v1.1.0(eng).pdf》,如需要这份手册,请留言。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
当然可以为您提供STM32F1系列使用HC-05蓝牙模块点灯的代码示例。请参考以下代码: ```c #include "stm32f10x.h" // 定义LED引脚 #define LED_PIN GPIO_Pin_13 #define LED_GPIO GPIOC // 初始化LED引脚 void LED_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); GPIO_InitStructure.GPIO_Pin = LED_PIN; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(LED_GPIO, &GPIO_InitStructure); } // 控制LED亮灭 void LED_Control(uint8_t state) { if (state) { GPIO_SetBits(LED_GPIO, LED_PIN); } else { GPIO_ResetBits(LED_GPIO, LED_PIN); } } // 延时函数 void Delay(__IO uint32_t nCount) { for (; nCount != 0; nCount--); } int main(void) { LED_Init(); // 初始化蓝牙串口 USART_InitTypeDef USART_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA, ENABLE); // 配置USART1引脚 GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_Init(GPIOA, &GPIO_InitStructure); // 配置USART1 USART_InitStructure.USART_BaudRate = 9600; USART_InitStructure.USART_WordLength = USART_WordLength_8b; USART_InitStructure.USART_StopBits = USART_StopBits_1; USART_InitStructure.USART_Parity = USART_Parity_No; USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; USART_Init(USART1, &USART_InitStructure); USART_Cmd(USART1, ENABLE); while (1) { // 检查是否收到蓝牙数据 if (USART_GetFlagStatus(USART1, USART_FLAG_RXNE) != RESET) { // 读取接收到的数据 uint16_t receivedData = USART_ReceiveData(USART1); // 判断接收到的数据 if (receivedData == '1') { LED_Control(1); // 点亮LED } else if (receivedData == '0') { LED_Control(0); // 熄灭LED } } Delay(0xFFFFF); } } ``` 请注意,此代码使用的是STM32Cube库。您需要根据实际情况进行相应的配置和修改。此代码的思路是通过蓝牙模块接收到的数据控制LED灯的亮灭。 希望对您有帮助!如有任何问题,请随时提问。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值