欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 想用51單片機控制藍牙模塊HC-05控制LED燈的狀態,但不知道為什么不行? [打印本頁]

作者: 時光荏苒。。。    時間: 2019-8-3 20:17
標題: 想用51單片機控制藍牙模塊HC-05控制LED燈的狀態,但不知道為什么不行?
想用51控制藍牙模塊HC-05控制LED的狀態。但不知道為什么不行,只有led3會亮和滅。好像只執行了send函數里的內容,led3會隨著每發送一個字節就亮滅的狀態變化,switch里的現象沒有出現。
#include <reg52.h>
#include <intrins.h>
unsigned char tmp;
unsigned int c=0;

sbit led1=P2^2;                  
sbit led2=P2^3;               
sbit led3=P2^4;               

void init();
void send(unsigned char a);
void ctrl()

void main()
{
                init();
          while(1)
          {         
                  if(RI==1)                  
                  {
                   RI = 0;
                  tmp = SBUF;               
                                  ctrl();
                                  }      
          }
}

void init()        //′®¿ú3õê¼»ˉ
{
                   ES=0;                                                               
                  SCON = 0x50;                     
                  TMOD = 0x20;                     
          TH1=TL1=0xFD;                    

          PCON &= 0x7f;                  
          TR1 = 1;                                                        
                                                                                
                  TI=0;                                                               
                  RI=0;
                  
                  //EA=0;
              ES=1;


          led1=0;                                
                  led2=0;
                  led3=0;
}

void send(unsigned char a
{                                                
        TI=0;        
        SBUF=a;
        while(TI==0);
        TI=0;

        if(c%2)                                
         led3=1;
        else
         led3=0;
        c++;
}

void ctrl()                          
{
                                    switch(tmp)
                                  {
                                          case '1':
                                                led1=1;                              
                                                send(tmp);
                                                break;                                       
                                        case '2':                                
                                                 led2=1;
                                                 send(tmp);
                                                 break;
                                        case '3':                                 
                                                 led1=0;
                                                 led2=0;
                                                 send(tmp);
                                                 break;
                                        case '4':                                
                                                  led1=1;
                                                  led2=1;
                                                  send(tmp);
                                                  break;
                                        case '5':                                
                                                led3=0;
                                                send(tmp);
                                                break;
                                        default:                  
                                                  led1=1;
                                                  led2=1;
                                                  led3=1;
                                                  send(tmp);
                                  }
}

作者: xuyaqi    時間: 2019-8-4 08:00
先試不用藍牙用串口能否正?刂,再加藍牙試,一步步來。
作者: 時光荏苒。。。    時間: 2019-8-4 10:25
xuyaqi 發表于 2019-8-4 08:00
先試不用藍牙用串口能否正常控制,再加藍牙試,一步步來。

測試了,串口通信是正常的。但它不能執行switch里面的內容,不能根據我發送的內容執行讓led1,led2改變狀態。但它執行了send里的內容,led3會隨著我發送字節而出現亮滅交替。
作者: leesg    時間: 2019-8-4 20:38
case '1' 指的是 ASCII 1, 改成  case 1 就能收到了
作者: xuyaqi    時間: 2019-8-5 09:50
時光荏苒。。。 發表于 2019-8-4 10:25
測試了,串口通信是正常的。但它不能執行switch里面的內容,不能根據我發送的內容執行讓led1,led2改變狀 ...

那就先直接用串口把功能調正常
作者: lqh_fairy    時間: 2021-6-8 19:05
xuyaqi 發表于 2019-8-5 09:50
那就先直接用串口把功能調正常

請問我想將HC-05接在5V工作電壓的STC89C52單片機上,是可以直接接,還是需要降壓處理,資料里說需要LDO處理,請大神指導,謝謝




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1