帮我看看手机与HC-05蓝牙模块程序哪里错了!

手机能连接上蓝牙了,已经确定接线没有问题,下面是蓝牙的程序,发送没反应,用得是STC12单片机voidCom_Init(){TMOD=0x20;//设置定时器T1为工作方... 手机能连接上蓝牙了,已经确定接线没有问题,下面是蓝牙的程序,发送没反应,用得是STC12单片机

void Com_Init()
{
TMOD=0x20;//设置定时器T1为工作方式2
TH1=0xfd;
TL1=0xfd; //T1定时器装初值
TR1=1; //启动定时器T1
REN=1; //允许串口接收
SM0=0;
SM1=1; //设置串口工作方式1
EA=1; //开总中断
ES=1; //开串口中断
}
void Com_Int() interrupt 4 //蓝牙串口中断服务函数
{
if(RI) //当硬件接收到一个数据时,RI会置位
{ //这里减去48是因为从电脑中发送过来的数据是ASCII。
RI = 0;
a=SBUF;
}
else
TI = 0;
}
求帮忙!
展开
 我来答
山水阿锐
2015-04-11 · TA获得超过34.3万个赞
知道顶级答主
回答量:23.7万
采纳率:91%
帮助的人:3.2亿
展开全部
您好:1.蓝牙参数的修改
(A)BlueTooth蓝牙模块上的5V、3.3V任意接一个到相应的电压就可以KEY接高电平、TX-->D2、RX-->D3 ,然后通过USB把UNO接到电脑上。
上电后,模块上的POWER二极管会一直亮,LED1会半秒闪一次,如果不是这样,重新上电或复位。

B)烧录代码
关于Arduino UNO如何烧录代码,在此不细讲,不懂了请参考相关资料。
通过如下程序可以修改相关参数:
#include <NewSoftSerial.h> //Software Serial Port
#define RxD 2
#define TxD 3
#define LED 13
NewSoftSerial blueToothSerial(RxD,TxD);
void setup()
{
Serial.begin(9600);
pinMode(RxD, INPUT);
pinMode(TxD, OUTPUT);
setupBlueToothConnection();
}
void loop()
{
digitalWrite(LED, HIGH);
delay(500);
digitalWrite(LED, LOW);
delay(500);
}
void setupBlueToothConnection()
{
Serial.println("Setting Bluetooth parameters");
blueToothSerial.begin(38400); //Set BluetoothBee BaudRate to default baud rate 38400
delay(100);
sendBlueToothCommand("AT\r\n");
sendBlueToothCommand("AT+NAME=HC-05\r\n");//命名模块名
sendBlueToothCommand("AT+ROLE=0\r\n");//设置主从模式:0从机,1主机
sendBlueToothCommand("AT+PSWD=1234\r\n");//设置配对密码,如0123
sendBlueToothCommand("AT+UART=38400,0,0\r\n");//设置波特率9600,停止位1,校验位无
sendBlueToothCommand("AT+RMAAD\r\n");//清空配对列表
delay(100);
Serial.println("Setup complete");
}
void sendBlueToothCommand(char command[])
{
char a;
blueToothSerial.print(command);
Serial.print(command);
delay(100);
while(blueToothSerial.available())
{
Serial.print(char(blueToothSerial.read()));
}
}
程序中的蓝牙名称、命令等信息都可以修改或添加。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式