700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 串口通信——蓝牙模块使用(HC-08为例)

串口通信——蓝牙模块使用(HC-08为例)

时间:2020-10-15 10:57:42

相关推荐

串口通信——蓝牙模块使用(HC-08为例)

一、串口通信:(STC89C51为例)

(7条消息) 51单片机——串口通信详解(STC89C51为例)_佛科院深夜学习的博客-CSDN博客/weixin_63568691/article/details/128274778

二、AT指令:

AT指令指在不连接蓝牙的条件下,通过串口发送,使蓝牙模块功能发生改变的指令

1、指令及对应功能

2、连接工具与链接方式

跟开发板与电脑进行串口通信相同的,需要一个USB转TTL模块,用相应接口的线将模块与电脑连接,模块按下图连接,注意TX和RX交叉连接,VCC接3.3V(如果你用其他蓝牙模块可能不一样,具体看数据手册上的工作电压)

3、使用前需要执行的指令:

不断改变波特率发送“AT“,直到收到OK,来确定模块的波特率和是否正常(一般默认位9600)发送”AT+DEFAULT“(加号也要发),进行模块重置(最快调回所有设置的方法)发送”AT+NAME=xxx“(xxx为你要填的名字),来改变蓝牙的名称,方便你选择需要连接的蓝牙

三、手机利用蓝牙控制开发板上灯的亮灭

1、手机显示软件:

可在应用商店搜索BLE调试助手等工具

2、参考代码:(具体解析参考串口通信一文)

#include <reg52.h>#define u8 unsigned char #define u16 unsigned int sbit led = P2^0;u8 table1[]="LED ON";u8 table2[]="LED OFF";u8 a,flag;void Tim1_Init();void Serial_Init();void Serial_Interrupt_Init();void delay10us(u16 time_out);//如果收到1,灯亮;如果收到0,灯灭void main(){u8 i;Tim1_Init();Serial_Init();Serial_Interrupt_Init();while(1){if(flag==1){if(a==1){led=0;for(i=0;i<6;i++){SBUF=table1[i];while(!TI);TI=0;}flag=0;delay10us(100);}else if(a==0){led=1;for(i=0;i<7;i++){SBUF=table2[i];while(!TI);TI=0;}flag=0;delay10us(100);}}}}void delay10us(u16 time_out){u8 i;while(time_out--){i=85;while(i--);}}void Tim1_Init(){TMOD=0x20;//加倍PCON=0X80;//波特率为9600 11.0592HHZTH1=0xFA;TL1=TH1;TR1=1;}void Serial_Init(){//方式1SM0=0;SM1=1;REN=1;}void Serial_Interrupt_Init(){ES=1;EA=1;}void Serial_Interrupt() interrupt 4{RI=0;a=SBUF;flag=1;}

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