糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > 【嵌入式】蓝牙串口通信透传模块(HC-08)的使用

【嵌入式】蓝牙串口通信透传模块(HC-08)的使用

时间:2019-12-06 17:38:12

相关推荐

【嵌入式】蓝牙串口通信透传模块(HC-08)的使用

一 使用蓝牙透传模块简介

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:/download/sinat_33408502/13076457

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

(2)PC端串口通信小助手:/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); //设置串口波特率为4800UART_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 << 3) | 0x01)); //设置串口优先级NVIC_EnableIRQ( USART3_IRQn); }

/*************************************************************************** 函数名称: UART3_IRQHandler* 功能描述: UART3中断服务程序* 输入参数:* 输出参数:* 返 回 值:* 其它说明: **************************************************************************/void UART3_IRQHandler (void){uint8_t res;static uint8_t cnt;while(1){if (!(LPC_USART3->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侧,通过串口小助手,看到数据收发的结果:

如果觉得《【嵌入式】蓝牙串口通信透传模块(HC-08)的使用》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。