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

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

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3173|回復(fù): 9
收起左側(cè)

單片機(jī)藍(lán)牙小車通信問(wèn)題,朋友們急求答案

[復(fù)制鏈接]
ID:711376 發(fā)表于 2020-5-24 18:21 | 顯示全部樓層 |閱讀模式
8黑幣
DIY的藍(lán)牙小車,在手機(jī)和單片機(jī)通信的時(shí)候APP顯示已經(jīng)連接了藍(lán)牙,但點(diǎn)擊APP上設(shè)置的對(duì)應(yīng)按鈕時(shí)小車沒(méi)有反應(yīng),有沒(méi)有遇到這種情況的朋友,求解,程序在評(píng)論里。

6E9647EDFCDE8E20B8BA3B0C0044ACD9.jpg
回復(fù)

使用道具 舉報(bào)

ID:711376 發(fā)表于 2020-5-24 18:22 | 顯示全部樓層
#include <reg52.h>

#define uchar unsigned char
#define uint unsigned int

typedef unsigned int u16;         
typedef unsigned char u8;

sbit IN1 = P1^2;
sbit IN2 = P1^3;
sbit IN3 = P1^6;
sbit IN4 = P1^7;
/*sbit EN1 = P1^4;
  sbit EN2 = P1^5;

#define left_motor_go                IN1 =1 , IN2 = 0
#define left_motor_back                IN1 = 0, IN2 = 1
#define right_motor_go                IN3 = 1, IN4 = 0
#define right_motor_back        IN3 = 0, IN4 = 1

u16 receivedata;

void delay(uint z)
{
        uint x,y;
        for(x = z; x > 0; x--)
        for(y = 114; y > 0 ; y--);
}

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

}

/************************************************************************/
/*     void  run(void)        
{
     push_val_left  =pwm;  
         push_val_right =pwm;         
                 if(pwm==10) pwm=0;
                if(pwm==0&&pwm<0) pwm=0;

}*/


/************************************************************************/
/*                    PWMµ÷ÖÆµç»úתËÙ                                   */
/************************************************************************/


/*                    ×ó²àµç»úµ÷ËÙ                                        */
/*µ÷½Úpush_val_leftµÄÖµ¸Ä±äµç»úתËÙ,Õ¼¿Õ±È            */
/*                void pwm_out_left_moto(void)
{  
   if(Left_moto_stop)
   {
    if(pwm_val_left<=push_val_left)
             {  
                                 Left_moto_pwm=1;
                   }
        else
              {
                                        Left_moto_pwm=0;
                                }

        if(pwm_val_left>=10)
        pwm_val_left=0;
   }
   else
         {
           Left_moto_pwm=0;      
         }
}*/
/******************************************************************/
/*                    ÓÒ²àµç»úµ÷ËÙ                                  */  
/*  void pwm_out_right_moto(void)
{
  if(Right_moto_stop)
   {
    if(pwm_val_right<=push_val_right)
             {  
                                 Right_moto_pwm=1;
             }  
        else
              {
                                         Right_moto_pwm=0;
                    }
        if(pwm_val_right>=10)
            pwm_val_right=0;
   }
   else    {Right_moto_pwm=0;        }
}
/***************************************************/

/*        void timer0()interrupt 1   using 2
{
   TH0=0XF8;         
         TL0=0X30;
         time++;
         pwm_val_left++;
         pwm_val_right++;
         pwm_out_left_moto();
         pwm_out_right_moto();
}*/


void forward()
{
        

        left_motor_go;
        right_motor_go;
      
}

void left_go()           
{
        
        
        left_motor_back;
        right_motor_go;
      
        delay(700);
        forward();
}

void right_go()
{
        
        
        delay(50);
        right_motor_back;
        left_motor_go;

        delay(700);
        forward();
}

void left()
{

        
        delay(50);
        right_motor_go;                  
        left_motor_back;        
      
}


void right()
{
        

        left_motor_go;
        right_motor_back;  
      
}


void back()
{
        
        
        left_motor_back;
        right_motor_back;      

}


void stop()
{
        
        IN1=0;
        IN2=0;
        IN3=0;
        IN4=0;
      
}

  

void main()
{
          IN1=0;IN2=0;IN3=0;IN4=0;
          UART_INIT();
                switch(receivedata)
                {
                        case 'g': forward(); break;
                        case 'b': back(); break;
                        case 'l': left(); break;
                        case 'r': right(); break;
                        case 's': stop(); break;
                        case 'z': left_go(); break;
                         case 'y': right_go(); break;


                }
}


void UART_SER() interrupt 4
{
  receivedata=SBUF;
        RI=0;
        SBUF=receivedata;
        while(!TI);
        TI=0;
}
回復(fù)

使用道具 舉報(bào)

ID:130231 發(fā)表于 2020-5-25 12:02 | 顯示全部樓層
你可用串口助手,在電腦端連接藍(lán)牙測(cè)試,在試機(jī)。先測(cè)出APP發(fā)出的字符,電腦端能不能收到。如果能收到,在一一對(duì)應(yīng)程序中字符。還有的是波特率也要對(duì)得上。
回復(fù)

使用道具 舉報(bào)

ID:687146 發(fā)表于 2020-5-25 12:51 | 顯示全部樓層
main函數(shù)里沒(méi)循環(huán),switch跳出一次程序就結(jié)束了后續(xù)單片機(jī)一直執(zhí)行終斷,根本進(jìn)不去switch,把switch丟終斷里因該就可以了,再不行把字母換成16進(jìn)制的數(shù)字。
回復(fù)

使用道具 舉報(bào)

ID:487151 發(fā)表于 2020-5-25 13:28 | 顯示全部樓層
可用串口助手,在電腦端連接藍(lán)牙測(cè)試,在試機(jī)。先測(cè)出APP發(fā)出的字符,電腦端能不能收到。如果能收到,在一一對(duì)應(yīng)程序中字符。還有的是波特率也要對(duì)得上。
回復(fù)

使用道具 舉報(bào)

ID:711376 發(fā)表于 2020-5-25 14:47 | 顯示全部樓層
zqy181818 發(fā)表于 2020-5-25 12:02
你可用串口助手,在電腦端連接藍(lán)牙測(cè)試,在試機(jī)。先測(cè)出APP發(fā)出的字符,電腦端能不能收到。如果能收到,在 ...

現(xiàn)在是電腦上的串口助手能控制小車,但是只有一個(gè)電機(jī)轉(zhuǎn),手機(jī)App還是沒(méi)法控制
回復(fù)

使用道具 舉報(bào)

ID:711376 發(fā)表于 2020-5-25 14:59 | 顯示全部樓層
2538076292 發(fā)表于 2020-5-25 12:51
main函數(shù)里沒(méi)循環(huán),switch跳出一次程序就結(jié)束了后續(xù)單片機(jī)一直執(zhí)行終斷,根本進(jìn)不去switch,把switch丟終斷 ...

我剛開(kāi)始就是給放到中斷服務(wù)函數(shù)中了,現(xiàn)在用電腦串口助手能控制,但是只有一個(gè)電機(jī)轉(zhuǎn)不知道是什么情況,我上午已經(jīng)調(diào)過(guò)驅(qū)動(dòng),兩個(gè)電機(jī)都是可以正常運(yùn)動(dòng)的,現(xiàn)在的問(wèn)題就是只有左輪是轉(zhuǎn)的,而且手機(jī)APP和單片機(jī)之間的通信還是有問(wèn)題。
回復(fù)

使用道具 舉報(bào)

ID:687146 發(fā)表于 2020-5-25 17:38 | 顯示全部樓層
嘿嘿嘿a 發(fā)表于 2020-5-25 14:59
我剛開(kāi)始就是給放到中斷服務(wù)函數(shù)中了,現(xiàn)在用電腦串口助手能控制,但是只有一個(gè)電機(jī)轉(zhuǎn)不知道是什么情況, ...

單獨(dú)調(diào)試一下驅(qū)動(dòng)模塊,在main函數(shù)里只加上驅(qū)動(dòng)函數(shù),在設(shè)定好延時(shí),做個(gè)循環(huán)看看電機(jī)轉(zhuǎn)動(dòng)是否正常。
回復(fù)

使用道具 舉報(bào)

ID:711376 發(fā)表于 2020-5-25 20:11 | 顯示全部樓層
2538076292 發(fā)表于 2020-5-25 17:38
單獨(dú)調(diào)試一下驅(qū)動(dòng)模塊,在main函數(shù)里只加上驅(qū)動(dòng)函數(shù),在設(shè)定好延時(shí),做個(gè)循環(huán)看看電機(jī)轉(zhuǎn)動(dòng)是否正常。

今天上午就搞過(guò)了,電機(jī)可以正常運(yùn)作,然后現(xiàn)在電腦上的串口助手可以驅(qū)動(dòng)小車運(yùn)動(dòng)了,但是手機(jī)APP和藍(lán)牙模塊之間的通信還是沒(méi)法建立,不知道是哪個(gè)地方的原因。。。
回復(fù)

使用道具 舉報(bào)

ID:426480 發(fā)表于 2020-5-26 15:16 | 顯示全部樓層
目前經(jīng)過(guò)你的描述可以判斷出,你的51程序正常!串口正常!現(xiàn)需要檢查APP和藍(lán)牙模塊通訊的問(wèn)題,第一:判斷手機(jī)APP藍(lán)牙是否支持、打開(kāi),開(kāi)始搜索、配對(duì)、然后進(jìn)行連接。第二:如果第一步成功接著判斷是否手機(jī)藍(lán)牙發(fā)送消息正常。重點(diǎn):檢查手機(jī)APP藍(lán)牙連接配對(duì),及消息發(fā)送接收程序的編寫(xiě)。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩中文字幕高清 | 国产日韩一区二区 | 日本精品一区 | 波多野结衣一区二区三区在线观看 | 欧美国产日韩一区二区三区 | 久久ww| 91精品国产乱码久久久久久久久 | 福利视频大全 | 日韩欧美不卡 | 国产免费国产 | 国产精品一区二区在线 | 51ⅴ精品国产91久久久久久 | 亚洲一区二区三区福利 | 国产精品久久久久久久一区探花 | 四虎成人精品永久免费av九九 | www.久久久 | 一区中文字幕 | 国产毛片av | 久久久久一区 | 福利一区在线观看 | 成人在线中文字幕 | 亚洲高清视频一区二区 | 日本激情视频在线播放 | avtt国产| 涩涩鲁亚洲精品一区二区 | 国产精品伦理一区二区三区 | 亚洲视频三区 | 国产一区二区三区四区三区四 | 精品免费视频一区二区 | 免费高清av | 中文字幕日韩欧美一区二区三区 | 欧美成视频 | 久久久久久蜜桃一区二区 | 高清久久久 | 男插女下体视频 | 国产乱码精品一品二品 | 在线观看成人精品 | 在线国产一区二区 | 羞羞视频免费在线 | 国产成人自拍一区 | 亚洲精品二区 |