标题: 关于51单片机蓝牙 手机传输数据的问题 [打印本页]

作者: 爱吾如泽    时间: 2019-11-17 21:54
标题: 关于51单片机蓝牙 手机传输数据的问题
在运用蓝牙时,虽然程序可以使用,并且在PC上操作可以。
但是在进行手机和单片机连接时发现在PC上未发现,也可以说省略的问题:

在PC上程序可以实现的原因是我一直在从机上操作,但是用手机传输,虽然可以收到,但是不执行,和期望中的远程输送不合。
希望能给予帮助。
ps:我不知道是什么地方错了,是程序还是手机或者单片机或者当初设置的错误。我先把程序发出来。感觉程序没错。

# include <reg52.h>
# define uint unsigned int
# define uchar unsigned char
uchar buf;
sbit led1 = P0^0;
sbit led2 = P1^1;
sbit led3 = P1^2;
uchar LedOn;
void delayms(uint xms)
{
    uint i, j;
    for(i = xms; i > 0; i--)
        for(j = 110; j > 0; j--);
}

void UARTinit()
{
    TMOD = 0x20;
    SCON = 0x50;
    TH1 = 0xfd;
    TL1 = 0xfd;
    PCON = 0x00;
    EA = 1;
    ES = 1;
    TR1 = 1;
}

void send(uchar c)
{
    SBUF = c;
    while(!TI);
    TI = 0;
}

void main()
{
    led1 = 1;
    led2 = 1;
    led3 = 1;

    UARTinit();
    while(1)
    {
        switch (LedOn)
        {        
                                        case '0':
                                                led1 = 0;
                                        led3 = 0;
                                        break;
        case '1':
            led1 = !led1;
            break;
        case '2':
            led2 = !led2;
            break;
        case '3':
            led3 = !led3;
            break;
        default:
            led1 = 0;
            led2 = 0;
            led3 = 0;
            break;
        }
      delayms(500);
    }
}

void UARTinterrupt() interrupt 4
{
    if(RI == 1)
    {
        RI = 0;
        buf = SBUF;
        LedOn = buf;
        send(buf);
    }
}


51hei图片20191117215228.jpg (8.68 MB, 下载次数: 89)

51hei图片20191117215228.jpg

作者: zhy111    时间: 2019-11-18 13:49
你查一下蓝牙的波特率,有可能是波特率对不上
作者: 爱吾如泽    时间: 2019-11-18 18:16
zhy111 发表于 2019-11-18 13:49
你查一下蓝牙的波特率,有可能是波特率对不上

波特率不是一开始设定好的吗?
作者: 爱吾如泽    时间: 2019-11-23 08:56
好吧,其实是RX和TX接反了

作者: 行走的橙子    时间: 2020-4-13 21:13
最近也在做相关设计,先来占个坑,谢谢楼主分享的代码啦




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1