找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1486|回复: 8
收起左侧

蓝牙控制单片机开发板上的LED的亮灭,实现不了预期的目的

[复制链接]
ID:494259 发表于 2019-3-19 20:59 来自手机 | 显示全部楼层 |阅读模式
#include<reg51.h>
#include<intrins.h>
#define        uchar unsigned char
#define uint  unsigned int
sbit led1=P2^1;
void serialInti();
void delay();
/*chuang kou chu shi han shu*/
void serialInti()
{
TMOD=0X20;
TH1=0Xfd;
TL1=0Xfd;
TR1=1;
SM0=0;
SM1=1;
REN=1;
EA=1;
ES=1;
}

/*yan shi han shu*/
void delay()
{
uchar x,j;
for(j=0;j<2;j++)
         for(x=0;x<=148;x++) ;

}
/*zhu han shu*/
void main (void)
{
  serialInti();
  
  while(1)
    {
     
         }

}
/*chuang kou zhong duan han shu*/
void Serial_interrupt() interrupt 4
{
uchar recivedata ;
EA=0;

if(RI)
   {
     RI=0;
         recivedata=SBUF ;
         switch(recivedata)
             {
           case '1':led1=1;break;
           case '0':led1=0;break;
          }
   }
EA=1;
}
回复

使用道具 举报

ID:494259 发表于 2019-3-19 21:00 来自手机 | 显示全部楼层
为什么我写的这个程序实现不了预期的目的
回复

使用道具 举报

ID:494259 发表于 2019-3-19 21:41 来自手机 | 显示全部楼层
我看了很多其他人写的类似功能的程序
回复

使用道具 举报

ID:494259 发表于 2019-3-19 21:41 来自手机 | 显示全部楼层
为什么 在他们程序中有发送数据的子程序
回复

使用道具 举报

ID:164602 发表于 2019-3-20 08:16 | 显示全部楼层
从你的程序中可以看到:
你的单片机晶振12M,波特率9600,对吧?!
这就是问题:12M晶振时,传输误差小的波特率最大只能是4800
所以,你的蓝牙根本接收不到正确的数据,当然就不能有效控制了。
回复

使用道具 举报

ID:393699 发表于 2019-3-20 14:09 | 显示全部楼层
串口波特率多少?是否能正常接收数据?
回复

使用道具 举报

ID:494653 发表于 2019-3-20 14:54 | 显示全部楼层
interrupt(),去掉( )试试
回复

使用道具 举报

ID:494259 发表于 2019-3-20 21:28 来自手机 | 显示全部楼层
HC6800-ES-V2.0 发表于 2019-3-20 08:16
从你的程序中可以看到:
你的单片机晶振12M,波特率9600,对吧?!
这就是问题:12M晶振时,传输误差小的 ...

我再试试
回复

使用道具 举报

ID:494259 发表于 2019-3-21 12:34 来自手机 | 显示全部楼层
蓝牙模块hc06需要上电初始化吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表