久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2049|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

求教,關(guān)于單片機(jī)與藍(lán)牙hc05通訊程序的問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:570264 發(fā)表于 2021-3-18 10:36 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
單片機(jī)是stc89c52,晶振是11.0592M,用的是藍(lán)牙hc05,硬件連好后發(fā)送命令,問題在于發(fā)送前兩次命令正常,但第三次收到消息不對,并且之后發(fā)命令像死機(jī)一樣無反應(yīng)怎么解決,已測任何命令發(fā)送都成功過,大部分都在第三次時候出現(xiàn),順便問下hc05模塊en腳和state腳要接么,我沒接懸空了。代碼如下:
#include<reg52.h>
#include "intrins.h"
#include "stdio.h"
#define uchar unsigned char
#define uint unsigned int

uchar date;        
uint cmd;
sbit a=P2^0;
sbit b=P2^1;
sbit c=P2^2;
sbit d=P2^3;
uchar code at[]="get a";
uchar code bt[]="get b";
uchar code ct[]="get c";
uchar code dt[]="get d";

//------------------------------BLE---------------------------------------
void UartConfiguration() //串口初始化
{
        TMOD=0x20;           //定時器工作在模式2,8位自動重裝模式
        TH1=0xfd;           
        TL1=0xfd;
        PCON=0x00;           //串口波特率,SMOD=0
        SCON=0x50;           //串口工作在模式1     10uart
        EA=1;                   //總開關(guān)開
        ES=1;
        TR1=1;                   //計數(shù)器開

}

void sendDate(uchar buf)                //發(fā)送字符
{
          SBUF=buf;
         while(!TI);
         TI=0;
}
void SendString(uchar *p)                //發(fā)送字符串
{        
        while(*p)
        {
         sendDate(*p);
         p++;
        }
}
void Iscmd()
{
        if(date=='a'||date=='b'||date=='c'||date=='d')cmd=1;           //判斷是否為命令
}

void Uart() interrupt 4                           //串口判斷是否有收到或發(fā)送完畢
{
        if(RI==1){date=SBUF;RI=0;Iscmd();}         //獲取收到數(shù)據(jù),RI置0,判斷是否是命令
        if(TI==1){TI=0;}                           //發(fā)送完畢置0
}
//----------------------------------------------------------------


void main()
{
  UartConfiguration(); //藍(lán)牙初始化
  while(1)
  {        
        if(cmd)                  //命令判斷
        {
                switch(date){                   //根據(jù)命令選擇
                           case 'a':SendString(at);a=0;break;
                           case 'b':SendString(bt);b=0;break;
                           case 'c':SendString(ct);c=0;break;
                           case 'd':SendString(dt);d=0;break;
                           default:break;
                                  }
                cmd=0;         //命令標(biāo)志置0
        }
  }
}

Screenshot_2021-03-18-10-33-21-15.png (124.8 KB, 下載次數(shù): 71)

Screenshot_2021-03-18-10-33-21-15.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:570264 發(fā)表于 2021-3-18 10:44 | 只看該作者
電腦上sscom5仿真成功過,一切沒問題,是硬件原因嗎?
回復(fù)

使用道具 舉報

板凳
ID:570264 發(fā)表于 2021-3-18 10:55 | 只看該作者
啊,解決了,我把main函數(shù)里的switch判斷語句放到 Iscmd函數(shù)里就不會有問題了,哪位大神能告訴我原因嗎?

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 五月婷亚洲 | 国产一区二区三区四区区 | 国产精品一级 | 黑人巨大精品欧美一区二区免费 | 日韩福利电影 | 中文字幕日韩在线观看 | 91精品国产色综合久久不卡98 | www国产成人免费观看视频 | 欧美一区二区三区四区视频 | 色香婷婷 | 黄免费观看视频 | 成人久久久 | 麻豆久久久 | 亚洲最大av | 精品国产欧美一区二区三区不卡 | 欧美三级在线 | 精品国产伦一区二区三区观看说明 | 一级毛片免费看 | 99久久久无码国产精品 | 91久久久久 | 天天操天天插天天干 | 国产免费自拍 | 久久精品成人热国产成 | 日日躁狠狠躁aaaaxxxx | 羞羞视频在线观看免费观看 | 手机av在线 | 香蕉一区 | 狠狠的干| 一区二区三区精品 | 超黄视频网站 | 男女羞羞视频网站 | 九九福利| 久草欧美 | 久久精品国产一区二区电影 | 性精品| 久久av一区二区三区 | 午夜影院网站 | 成人黄色a| 欧美精品久久久久 | 伊人狼人影院 | 看片一区 |