找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

單片機(jī)+藍(lán)牙模塊接收數(shù)據(jù)能顯示十進(jìn)制嗎?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:900977 發(fā)表于 2021-5-8 21:05 來自手機(jī) | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
就是我本來設(shè)置了藍(lán)牙向單片機(jī)發(fā)送1的話,單片機(jī)反饋回來的也是1,用串口助手軟件那個(gè)hex模式接收可以顯示接收回來1,但是手機(jī)接收的是0x01,我想接收到的也是1,可不可以實(shí)現(xiàn)呢?藍(lán)牙調(diào)試軟件只有16進(jìn)制顯示啊
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:213173 發(fā)表于 2021-5-9 06:29 | 只看該作者
用文本形式傳輸收發(fā),加引號(hào) '0' '1' '2'.......
回復(fù)

使用道具 舉報(bào)

板凳
ID:900977 發(fā)表于 2021-5-9 10:58 | 只看該作者
#include <reg52.h>

#include <intrins.h>
#define uint unsigned int           //用"uint"代替"unsigned int"   無符號(hào)整數(shù)
#define uchar unsigned char                                        //用"uchar"代替"unsigned char" 無符號(hào)字符
unsigned char tmp;
sbit h1=P2^0;   //四個(gè)紅外傳感器
sbit h2=P2^1;
sbit h3=P2^2;
sbit h4=P2^3;
uint shu=0;
uint ji1,ji2,ji3,ji4;





void init();   //串口初始化

void send(unsigned char a);     //單字節(jié)發(fā)送函數(shù)

void ctrl(); //接收處理函數(shù)



void main()

{

                   init();

          while(1)

          {         

                  if(RI==1)                     //是否有數(shù)據(jù)到來

                  {

                   RI = 0;

                  tmp = SBUF;                   //暫存接收到的數(shù)據(jù)

                                       ctrl();

                                       }      

          }

}



void init()        //串口初始化

{

                   ES=0;                                                                       //關(guān)中斷

                     SCON = 0x50;                        // REN=1允許串行接受狀態(tài),串口工作模式1,

                                                                                                         //10位UART(1位起始位,8位數(shù)據(jù)位,1位停止位,無奇偶校驗(yàn)),波特率可變



                     TMOD = 0x20;                        //定時(shí)器1工作于方式2,8位自動(dòng)重載模式,用于產(chǎn)生波特率

          TH1=TL1=0xFD;                       //波特率9600

         

          PCON &= 0x7f;                       //波特率不倍增

          TR1 = 1;                                                                  //定時(shí)器1開始工作,產(chǎn)生波特率

                                                                                                         //發(fā)送標(biāo)志位置0

                     TI=0;                                                                        //接收標(biāo)志位置0

                     RI=0;

                     

                     //EA=0;

               ES=1;





                  
                                                  
                    
}

   

void send(unsigned char a)      //單字節(jié)數(shù)據(jù)發(fā)送

{                                                                //注意:若單片機(jī)TXD(P3.1)無上拉能力,必須在P3.1端接上拉電阻。本次測(cè)試需要接上拉電阻

         TI=0;         

         SBUF=a;

         while(TI==0);

         TI=0;



         

}



void ctrl()                      //接收處理函數(shù)

{

                                     switch(tmp)

                                       {

                                            case '1':

                                             
                                                                                                       
                                                        send(shu);

                                                        break;                                          

                                                                           }



        if(ji1==0&&ji2==0&&ji3==0&&ji4==0)                                                //如果四個(gè)紅外傳感器都感應(yīng)到人
   {       
   shu=4;                                                                                                                                                                //則說明4人到場(chǎng)
   }  
     if(ji1==1&&ji2==1&&ji3==1&&ji4==1)                                        //如果四個(gè)紅外傳感器都沒有感應(yīng)到人
   {
   shu=0;                                                                                                                                                                //則0人到場(chǎng),全部曠課
   }

       

        if(ji1==0&&ji2==0&&ji3==0&&ji4==1)                                                //如果有三個(gè)傳感器感應(yīng)到人,則說明三人到場(chǎng)
        {
        shu=3;
        }
                if(ji1==0&&ji2==0&&ji3==1&&ji4==0)
        {
        shu=3;
        }
                if(ji1==0&&ji2==1&&ji3==0&&ji4==0)
        {
        shu=3;
        }
                if(ji1==1&&ji2==0&&ji3==0&&ji4==0)
        {
        shu=3;
        }




        if(ji1==0&&ji2==0&&ji3==1&&ji4==1)                                                //如果兩個(gè)傳感器感應(yīng)到人,則兩人到場(chǎng)
        {
        shu=2;
        }
                if(ji1==1&&ji2==1&&ji3==0&&ji4==0)
        {
        shu=2;
        }
                if(ji1==0&&ji2==1&&ji3==1&&ji4==0)
        {
        shu=2;
        }
                if(ji1==1&&ji2==0&&ji3==0&&ji4==1)
        {
        shu=2;
        }

                   if(ji1==0&&ji2==1&&ji3==0&&ji4==1)
        {
        shu=2;
        }

                           if(ji1==1&&ji2==0&&ji3==1&&ji4==0)
        {
        shu=2;
        }

                                      if(ji1==0&&ji2==1&&ji3==1&&ji4==0)
        {
        shu=2;
        }

                           if(ji1==1&&ji2==0&&ji3==0&&ji4==1)
        {
        shu=2;
        }





                   if(ji1==0&&ji2==1&&ji3==1&&ji4==1)                                                        //如果有一個(gè)傳感器感應(yīng)到人,說明一人到場(chǎng)
        {
        shu=1;
        }


                                   if(ji1==1&&ji2==0&&ji3==1&&ji4==1)
        {
        shu=1;
        }

                           if(ji1==1&&ji2==1&&ji3==0&&ji4==1)
        {
        shu=1;
        }

                           if(ji1==1&&ji2==1&&ji3==1&&ji4==0)
        {
        shu=1;
        }

  if(h1==0)                                                //此處是紅外傳感器的感應(yīng)觸發(fā),無實(shí)際意義,下同
  {
  ji1=0;  //低電平觸發(fā)
  }
  else
  {
  ji1=1;
  }

    if(h2==0)
  {
  ji2=0;
  }
  else
  {
  ji2=1;
  }

    if(h3==0)
  {
  ji3=0;
  }
  else
  {
  ji3=1;
  }

    if(h4==0)
  {
  ji4=0;
  }
  else
  {
  ji4=1;
  }

}
回復(fù)

使用道具 舉報(bào)

地板
ID:900977 發(fā)表于 2021-5-9 10:59 | 只看該作者
補(bǔ)充,這是源程序,shu是個(gè)變量,藍(lán)牙只能以16進(jìn)制接收,文本接收的話是亂碼
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表