【嵌入式】蓝牙串口通信透传模块(HC

您所在的位置:网站首页 链接蓝牙怎么传数据给别人看 【嵌入式】蓝牙串口通信透传模块(HC

【嵌入式】蓝牙串口通信透传模块(HC

2023-05-20 13:30| 来源: 网络整理| 查看: 265

一 使用蓝牙透传模块简介

    HC-08 蓝牙串口通信模块是新一代的基于 Bluetooth Specification V4.0 BLE 蓝牙协议的数传模块。无线工作频段为 2.4GHz ISM,调制方式是 GFSK。模块最大发射功率为 4dBm,接收灵敏度-93dBm,空旷环境下和 iphone4s 可以实现 80 米超远距离通信。模块大小 26.9mm×13mm×2.2mm,集成了邮票封装孔和排针焊接孔,既可以贴片封装,也又可以焊接排针,很方便嵌入应用系统之内。自带 LED 状态指示灯,可直观判断蓝牙的连接状态。     模块采用 TI 的 CC2540F256 芯片,配置 256K 字节空间,支持 AT 指令,用户可根据需要更改角色(主、从模式)以及串口波特率、设备名称等参数,使用灵活。

 

二 蓝牙模块使用准备

    (1)手机端APP:

        安卓手机下载串口通信APP:https://download.csdn.net/download/sinat_33408502/13076457

        苹果手机APP Store 下载安装 Lightblue 或蓝牙助手

    (2)PC端串口通信小助手:https://download.csdn.net/download/sinat_33408502/13076654

    (3)USB转TTL模块

    (4)TTL转232模块

 

三 蓝牙连接MCU与手机进行通信

    连接示意图如下:

    

    其中,需要注意的是:

    (1)VCC最好接3.3V(如果需要5V的供电,不能不加保护直连,可能会烧坏模块。需要在模块的 RX 端串接一个 220Ω~1KΩ的电阻再接 MCU 的 TX,模块的 TX 直接接 MCU 的 RX,无需串接电阻);

    (2)蓝牙模块的波特率默认为9600,可以在使用中,根据实际需要,用AT指令进行修改(我这边使用的是4800的波特率);

    (3)蓝牙模块是TTL电平,如果使用的MCU串口是232的串口,中间需要转接反相器或者232转TTL电平的转换模块(实际测试中发现,MCU串口发送数字1,手机端APP收到的数据是7F,排查原因在于此)

    (4)以上连接之后,蓝牙的通信协议等都被封装在透传模块中,可以视为一个蓝牙转串口的设备,只要针对MCU的串口进行操作即可。下面是MCU的串口控制程序:

/************************************************************************** * 函数名称: initUART3 * 功能描述: UART3串口初始化 * 输入参数: * 输出参数: * 返 回 值: * 其它说明: **************************************************************************/ void initUART3(void) { UART_CFG_Type UARTConfigStruct; UART_FIFO_CFG_Type UARTFIFOConfigStruct; scu_pinmux(0xF, 2, MD_PDN, FUNC1); scu_pinmux(0xF, 3, MD_PLN|MD_EZI|MD_ZI, FUNC1); UART_ConfigStructInit3(&UARTConfigStruct); //设置串口波特率为4800 UART_FIFOConfigStructInit(&UARTFIFOConfigStruct); UART_Init((LPC_USARTn_Type *)LPC_USART3, &UARTConfigStruct); UART_FIFOConfig((LPC_USARTn_Type *)LPC_USART3, &UARTFIFOConfigStruct); UART_TxCmd((LPC_USARTn_Type *)LPC_USART3, ENABLE); UART_IntConfig((LPC_USARTn_Type *)LPC_USART3, UART_INTCFG_RBR, ENABLE); UART_IntConfig((LPC_USARTn_Type *)LPC_USART3, UART_INTCFG_RLS, ENABLE); NVIC_SetPriority(USART3_IRQn, ((0x01 LSR & UART_LSR_RDR)) { break; } else { res = UART_ReceiveByte(LPC_USART3); //串口收 uart3_buf[cnt++] = res; UART_SendByte(LPC_USART3, res); //串口发(echo) if(cnt > 15) { cnt = 0; } } } }

    综上,连接手机端APP可以看到数据收发的结果:

 

四 蓝牙模块之间的连接

    连接示意图如下:

    其中,需要注意的是:

    (1)上图MCU侧的蓝牙模块接线以及控制程序不变;

    (2)使用两个蓝牙模块,一块接MCU(设置为主机),一块接TTL转USB的转换模块到电脑(默认为从机),同时注意同步波特率;

    综上,在PC侧,通过串口小助手,看到数据收发的结果:

 

 

 

 

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3