一个51单片机如图,有两个蓝牙模块,怎么连接单片机和蓝牙并进行工作呢?求连接与代码。。

一个51单片机如图,有两个蓝牙模块,怎么连接单片机和蓝牙并进行工作呢?求连接与代码。。,第1张

51单片机上的蓝牙模块编程方法如下:

常用的方法有:

1.通过通过电脑上的蓝牙设备给单片机上的蓝牙设备,给单片机指令起到控制作用。

2.通过串口232或485或直接串口通讯链接到单片机的串口通讯引脚给单片机指令从而达到控制单片机。

3.通过电脑上的wifi给单片机上的wifi指令不过这样麻烦。

第一种方法最好把,不过电脑上要有蓝牙设备或外界usb的蓝牙。

第二种方法是有线的,可以通过电脑上的232接口直接跟单片机通讯。

蓝牙有RXD与TXD引脚, 用串口通信 ,代码可以参考网上的一些资料

使用AT指令的时候,先使蓝牙模块进入AT模式,然后你就当蓝牙就是命令的接收端,单片机或者PC串口就是命令的发送端(就当蓝牙是独立的模块)。

串口发送的AT数据是直接给蓝牙模块的,这个串口可以是PC串口也可以是单片机串口。

如果你想用单片机实现AT指令设置蓝牙,就用一个IO控制蓝牙模块的KEY管脚,把AT指令写在程序中,通过串口发送给蓝牙模块。

参考《吴鉴鹰单片机项目实战精讲》

首先是蓝牙通信,我想指出,如果你用的是蓝牙模块的话,那么它的单片机程序与串口的单片机程序差不多一样,只要你会串口 *** 作,蓝牙也就解决了,如果不是用的蓝牙模块,另当别论。

然后是接受端手机这边,你应该懂一些java东西,知道怎么调用底层程序,编写读取串口程序,根据发送的协议,把接受的数据转化为十进制就可以了.

扩展资料

单片机采用51系列单片机用C51语言编写,通过sprintf构造JSON格式文件通过蓝牙串口模块发送到安卓手机,简要代码如下:

sprintf(msg,"{\"RR\":\"%02x\"}\0",(unsigned int )RRtemp)

Serial_print(msg)

这里涉及到Serial_print()函数如下:

void Serial_print(char *msg)

{

while (*msg != '\0') {

S2BUF = *msg

while ((S2CON &S2TI) == 0)

S2CON &= ~S2TI

msg++

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7820698.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存