| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 520 人关注过本帖, 1 人收藏
标题:高手帮帮我啊,一个关于小车的程序。
取消只看楼主 加入收藏
bkss111
Rank: 1
来 自:湖北武汉
等 级:新手上路
帖 子:5
专家分:3
注 册:2012-12-28
结帖率:100%
收藏(1)
已结贴  问题点数:10 回复次数:1 
高手帮帮我啊,一个关于小车的程序。
下面的程序是小车的主程序,要求小车接收到串口接收到的字符sbuf后可以转向,可是我的程序调试时左转了之后,就一直左转着
应该是左转一下可以向前走。求解啊。
int main(void)      //主程序
{
  
     char flag=1;
    uart_Init();
     printf("Program Running!\n");
        while(flag)
         {
           m = SBUF;
           switch(m)
          {
           case 0x66:                    //接收到字母“f”,则小车向前行驶
                 Forward();             //向前
                 printf("run forward!\n");
                 flag=0;
           break;
           case 0x62:                    //接收到字母“b”,则小车向后行驶
                 Backward();
                 printf("run backward!\n");
                 flag=0;
           break;
           case 0x6c:                     //接收到字母“l”,则小车左转
                 Left_Turn();
                 printf("turn left!\n");
                  flag=0;
           break;
           case 0x72:                      //接收到字母“r”,则小车右转
                  Right_Turn();
                  printf("turn right!\n");
                   flag=0;
           break;
           case 0x73:                      //接收到字母“s”,则小车停止
                  Stop();
                  printf("stop!\n");
                  flag=0;
           break;
           default:                      //其他情况,小车前进
                  return 0x66;
                  flag=0;
           break;
          }
        flag=1;
        }
 }
搜索更多相关主题的帖子: 小车 Running forward 主程序 
2012-12-29 19:31
bkss111
Rank: 1
来 自:湖北武汉
等 级:新手上路
帖 子:5
专家分:3
注 册:2012-12-28
收藏
得分:0 
程序是漏洞百出,自己改了之后基本能满足条件,但是遇到新问题,小车在没接收到指令时应该停止,现在却向前行走...
int main(void)      //主程序
{   
    char m1;   
    uart_Init();
    printf("Program Running!\n");
            
         while(1)
         {            
           m = SBUF;
           if(m==0x62||m==0x73||m!=m1)
             m1=m;
           else
                 m1=0x66;
          switch(m1)
          {
           case 0x66:                    //接收到字母“f”,则小车向前行驶                  
                 Forward();            
                 printf("forward!\n");              
           break;
           case 0x62:                    //接收到字母“b”,则小车向后行驶
                 Backward();
                 printf("backward!\n");                                    
           break;
           case 0x6c:                    //接收到字母“l”,则小车左转            
                 Left_Turn();
                 printf("left!\n");                 
           break;
           case 0x72:                   //接收到字母“r”,则小车右转
                  Right_Turn();
                 printf("right!\n");                 
           break;
           case 0x73:                  //接收到字母“s”,则小车停止
                  Stop();
                  printf("stop!\n");                  
           break;
           default:                      //其他情况,小车前进
                    Stop();                 
           break;
          }   
          m1=m;        
       }                  
       return 0;
}
痛苦
2013-01-01 20:41
快速回复:高手帮帮我啊,一个关于小车的程序。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011796 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved