找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2793|回复: 7
打印 上一主题 下一主题
收起左侧

调试蓝牙小车中,蓝牙调试ok了,但是小车行走不了,求大神解释解释

[复制链接]
跳转到指定楼层
楼主
本帖最后由 loading88 于 2018-4-29 21:36 编辑


#include<reg52.h>
#include "drive.h"
typedef unsigned char u8;
typedef unsigned int u16;
#define uchar unsigned char
u16 a;
sbit IN1=P1^7;
sbit IN2=P1^6;
sbit IN3=P1^5;
sbit IN4=P1^4;
void com_init() //串口初始化函数,波特率9600bps
{
TMOD = 0x20;
TH1 = 0xf9;
TL1 = 0xf9;
PCON=0X80;
TR1 = 1;
SCON=0X50;
ES = 1;
EA = 1;
}
void delay(unsigned int z)
{
    unsigned int x,y;
for(x=z;x>0;x--)
   for(y=100;y>0;y--);
}
void Stop()  //停止
{
   {
IN1=0;
IN2=0;
IN3=0;
IN4=0; //停止
      delay(20);  
      
   }
}
void Backward()  //后退
{
   {
IN1=0;
IN2=1;
IN3=0;
IN4=1; //反转
      delay(20);  
   
   }
}
void Forward() //前进
{
   {
IN1=1;
IN2=0;
IN3=1;
IN4=0; //正转
      delay(20);  
  
   
   }  
}
void Wleft()     //前左
{
   {
IN1=0;
IN2=0;
IN3=1;
IN4=0; //左转
      delay(20);  

   }
}
void Wright()     //前右
{
   {
IN1=1;
IN2=0;
IN3=0;
IN4=0; //右转
      delay(20);  
  
     
   }
}
void Bright()   //后右
{
   {
IN1=0;
IN2=0;
IN3=0;
IN4=1; //后右
      delay(20);  
  
     
   }
}
void Bleft()    // 后左
{
   {
IN1=0;
IN2=1;
IN3=0;
IN4=0; //后左

      delay(20);  
   
   
   }
}

void main() //主函数
{
com_init(); //串口初始化
}
void Usart() interrupt 4
{
a=SBUF;//出去接收到的数据
RI = 0;//清除接收中断标志位
SBUF=a;//将接收到的数据放入到发送寄存器
while(!TI);
switch(a) //判断收到的命令是干嘛的
{
   case 1:Forward();break; //前进1
   case 2:Backward();break; //后退2
   case 3:Stop();break; //停止3
   case 4:Wleft();break; //前左4
   case 5:Wright();break; //前右5
   case 6:Bright();break; //后右6
   case 7:Bleft();break; // 后左7
}
//死循环,等待蓝牙传命令过来++
TI=0;
        //清除发送完成标志位
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:317135 发表于 2018-4-29 21:34 | 只看该作者
蓝牙通讯已经可以了,但是还是控制不了小车行走,那位大神解释解释,谢了
回复

使用道具 举报

板凳
ID:319172 发表于 2018-4-29 23:22 | 只看该作者
我也不知道
回复

使用道具 举报

地板
ID:319172 发表于 2018-4-29 23:23 | 只看该作者
看是不是晶振没弄好?
回复

使用道具 举报

5#
ID:276761 发表于 2018-4-30 00:06 | 只看该作者
没看见有while(1)大循环
回复

使用道具 举报

6#
ID:317135 发表于 2018-5-2 12:29 | 只看该作者
cliang223 发表于 2018-4-30 00:06
没看见有while(1)大循环

有在主函数里面放过whlie(1),但是还是没用
回复

使用道具 举报

7#
ID:317135 发表于 2018-5-2 12:30 | 只看该作者
曹大哥 发表于 2018-4-29 23:23
看是不是晶振没弄好?

晶振是好的,不然不可以与蓝牙通讯
回复

使用道具 举报

8#
ID:722967 发表于 2020-4-7 15:18 | 只看该作者
请问楼主是怎么解决的呢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表