标题:
用HC08蓝牙模块控制51单片机亮灯的问题求助(不稳定,只能接受不能发送)
[打印本页]
作者:
jkangk123
时间:
2018-10-24 15:53
标题:
用HC08蓝牙模块控制51单片机亮灯的问题求助(不稳定,只能接受不能发送)
蓝牙模块通过一个USB TTL转接转接口插电脑上手机可以正常的发送和接收数据 调试也正常 但是一换上单片机之后 手机就只能接收数据,然后单片机程序设置的由蓝牙发送数据让单片机IO口亮灯 可是点发送数据之后 单片机没有反应 我用电脑串口软件发数据 单片机小灯就能亮 波特率是9600 单片机跟蓝牙模块确定RXD TXD没有接错 还有中间有两次突然一下手机就可以给单片机发送数据 单片机也能亮灯,操作正常 但是过一会不行之后就再也控制不了。 不知道是什么原因 希望前辈们能帮忙分析解答下
下面附上程序部分:
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar PuZh[36] = "";
//--定义使用的IO--//
sbit LED=P1^0;
sbit DDD=P1^1;
//sbit rr=P3^3;
//--声明全局函数--//
void UsartConfiguration();
void Delay_1ms(uint i);
/********************************************************************
* 名称 : Com_Int()
* 功能 : 串口中断子函数
* 输入 : 无 * 输出 : 无
***********************************************************************/
void Com_Int(void) interrupt 4
{
uchar i;
uchar receive_data;
EA = 0;
if(RI) //当硬件接收到一个数据时,RI会置位
{
RI = 0;
DDD =0;
receive_data = SBUF;//接收到的数据
if(receive_data == 0x00)
{
LED =0;//接收到1亮灯
}
else
{
LED =1; //其他情况灯灭
}
}
for(i=0; i<36; i++)
{
SBUF = PuZh[i]; //将要发送的数据放入到发送寄存器
while(!TI); //等待发送数据完成
TI=0; //清除发送完成标志位
Delay_1ms(1);
}
EA = 1;
}
/*******************************************************************************
* 函 数 名 : main
* 函数功能 : 主函数
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void main()
{
UsartConfiguration();//初始化串口
while(1);
// rr=1;
}
/*******************************************************************************
* 函 数 名 : UsartConfiguration()
* 函数功能 : 设置串口
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void UsartConfiguration()
{
SCON=0X50; //设置为工作方式1,8位数据,可变波特率
TMOD=0X20; //设置计数器工作方式2
PCON=0X00; //波特率不加倍
TH1=0XFD; //计数器初始值设置,4800@11.0592MHz
TL1=0XFD;
TR1=1; //打开计数器
ES = 1; //开串口中断
EA = 1; //开总中断
}
/********************************************************************
* 名称 : Delay_1ms()
* 功能 : 延时子程序,延时时间为 1ms
* x * 输入 : x (延时一毫秒的个数)
* 输出 : 无
***********************************************************************/
void Delay_1ms(uint i)//1ms延时
{
uchar x,j;
for(j=0;j<i;j++)
for(x=0;x<=148;x++);
}
复制代码
作者:
Heeeey
时间:
2020-6-9 00:28
同样的问题,请问你解决了吗。救救孩子!
作者:
0-1
时间:
2020-10-5 11:51
Heeeey 发表于 2020-6-9 00:28
同样的问题,请问你解决了吗。救救孩子!
同样的问题,请问你解决了吗。救救孩子!拜托了
作者:
七禾页
时间:
2020-10-8 19:13
断开重连,并且忘记蓝牙密码
作者:
玖九月
时间:
2023-4-19 11:02
0-1 发表于 2020-10-5 11:51
同样的问题,请问你解决了吗。救救孩子!拜托了
我是只能收,一次发送控制都没有成功过 要命,请问怎么解决的啊
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1