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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3358|回復: 9
打印 上一主題 下一主題
收起左側

單片機藍牙小車通信問題,朋友們急求答案

[復制鏈接]
跳轉到指定樓層
樓主
8黑幣
DIY的藍牙小車,在手機和單片機通信的時候APP顯示已經連接了藍牙,但點擊APP上設置的對應按鈕時小車沒有反應,有沒有遇到這種情況的朋友,求解,程序在評論里。

6E9647EDFCDE8E20B8BA3B0C0044ACD9.jpg (96.85 KB, 下載次數: 92)

6E9647EDFCDE8E20B8BA3B0C0044ACD9.jpg
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:711376 發表于 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;
}
回復

使用道具 舉報

板凳
ID:130231 發表于 2020-5-25 12:02 | 只看該作者
你可用串口助手,在電腦端連接藍牙測試,在試機。先測出APP發出的字符,電腦端能不能收到。如果能收到,在一一對應程序中字符。還有的是波特率也要對得上。
回復

使用道具 舉報

地板
ID:687146 發表于 2020-5-25 12:51 | 只看該作者
main函數里沒循環,switch跳出一次程序就結束了后續單片機一直執行終斷,根本進不去switch,把switch丟終斷里因該就可以了,再不行把字母換成16進制的數字。
回復

使用道具 舉報

5#
ID:487151 發表于 2020-5-25 13:28 | 只看該作者
可用串口助手,在電腦端連接藍牙測試,在試機。先測出APP發出的字符,電腦端能不能收到。如果能收到,在一一對應程序中字符。還有的是波特率也要對得上。
回復

使用道具 舉報

6#
ID:711376 發表于 2020-5-25 14:47 | 只看該作者
zqy181818 發表于 2020-5-25 12:02
你可用串口助手,在電腦端連接藍牙測試,在試機。先測出APP發出的字符,電腦端能不能收到。如果能收到,在 ...

現在是電腦上的串口助手能控制小車,但是只有一個電機轉,手機App還是沒法控制
回復

使用道具 舉報

7#
ID:711376 發表于 2020-5-25 14:59 | 只看該作者
2538076292 發表于 2020-5-25 12:51
main函數里沒循環,switch跳出一次程序就結束了后續單片機一直執行終斷,根本進不去switch,把switch丟終斷 ...

我剛開始就是給放到中斷服務函數中了,現在用電腦串口助手能控制,但是只有一個電機轉不知道是什么情況,我上午已經調過驅動,兩個電機都是可以正常運動的,現在的問題就是只有左輪是轉的,而且手機APP和單片機之間的通信還是有問題。
回復

使用道具 舉報

8#
ID:687146 發表于 2020-5-25 17:38 | 只看該作者
嘿嘿嘿a 發表于 2020-5-25 14:59
我剛開始就是給放到中斷服務函數中了,現在用電腦串口助手能控制,但是只有一個電機轉不知道是什么情況, ...

單獨調試一下驅動模塊,在main函數里只加上驅動函數,在設定好延時,做個循環看看電機轉動是否正常。
回復

使用道具 舉報

9#
ID:711376 發表于 2020-5-25 20:11 | 只看該作者
2538076292 發表于 2020-5-25 17:38
單獨調試一下驅動模塊,在main函數里只加上驅動函數,在設定好延時,做個循環看看電機轉動是否正常。

今天上午就搞過了,電機可以正常運作,然后現在電腦上的串口助手可以驅動小車運動了,但是手機APP和藍牙模塊之間的通信還是沒法建立,不知道是哪個地方的原因。。。
回復

使用道具 舉報

10#
ID:426480 發表于 2020-5-26 15:16 | 只看該作者
目前經過你的描述可以判斷出,你的51程序正常!串口正常!現需要檢查APP和藍牙模塊通訊的問題,第一:判斷手機APP藍牙是否支持、打開,開始搜索、配對、然后進行連接。第二:如果第一步成功接著判斷是否手機藍牙發送消息正常。重點:檢查手機APP藍牙連接配對,及消息發送接收程序的編寫。
回復

使用道具 舉報

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

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕a√ | 国产精品久久久久久久久久久久 | 成人一区av| 黄色激情毛片 | 久久久久国产一区二区三区 | 成人国产一区二区三区精品麻豆 | 一区二区三区四区国产精品 | 深夜福利影院 | 国产免费一区二区三区 | 久久久久久久久久久久一区二区 | 欧美精品a∨在线观看不卡 欧美日韩中文字幕在线播放 | 亚洲午夜精品在线观看 | 欧美日韩欧美 | 一区二区三区在线观看视频 | 毛片免费看的 | 国产精品成人一区二区 | 成人精品鲁一区一区二区 | 亚洲欧美成人影院 | 黄色在线免费看 | 6080yy精品一区二区三区 | 欧美jizzhd精品欧美巨大免费 | 亚洲成av人影片在线观看 | 天天干免费视频 | 成人午夜免费在线视频 | 九色视频网站 | 亚洲国产成人精品久久久国产成人一区 | 亚洲一区亚洲二区 | 国产一区二区在线免费播放 | 亚洲国产欧美精品 | 一区二区三区欧美 | 五月天天色| 国产成人精品久久二区二区91 | 中文字幕乱码一区二区三区 | 亚洲日日 | 日本午夜免费福利视频 | 欧美日韩一区二区三区四区五区 | 天天干天天干 | 欧美日高清视频 | 五月婷婷 六月丁香 | www.99re5.com| 色在线看 |