| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 295 人关注过本帖
标题:谁能帮我分析下不?
只看楼主 加入收藏
tlchristina
Rank: 1
来 自:江苏苏州
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-11-3
收藏
 问题点数:0 回复次数:3 
谁能帮我分析下不?
#include"ASEIO.h"
unsigned char m0,m1,m2,m3,m4,msj=1;
void fore(int sd,float sj);
void left(int sd,float sj,float rate);
void right(int sd,float sj,float rate);
char readligh();
void findline();
void stop();
int max[5]={0,0,0,0,0},min1[5]={255,255,255,255,255},mid1[5],leftc=0,rightc=0;

void main()
{
 unsigned char k,m;
 float sj1;
 InitArmRobot();
 resettime();
 k=readlight();
 while(1)
  {
   m=k;
   k=readligh();
   if (k==4) {fore(50,0);}
   if (k==0)
    {
     if ((m==4)||(m==0)) fore(40,0);
     if (m>4) left(50,0,0.5);
     if (m<4) right(50,0,0.5);
    }
   if (k==8) {left(50,0,0.2);}
   if (k==2) {right(50,0,0.2);}
   if ((k>15)&& msj) {leftc++;sj1=seconds();msj=0;}
   if ((m0)&& msj) {rightc++;sj1=seconds();msj=0}
   if (seconds()>sj1+0.3) msj=1;
   if (leftc==4) {leftc=5;left(100,0.3,-1);}
   if (leftc==7) {leftc=8;left(100,0.3,-1);}
  }
}

void fore(int sd,float sj)
{
 float sj1;
 sj1=seconds();
 SetMoto(0,sd);
 SetMoto(1,sd);
if(sj)
 {
  while(seconds()<sj1+sj);
   SetMoto(0,0);
   SetMoto(1,0);
 }
}

void left(int sd,float sj,float rate)
{
 float sj1;
 sj1=seconds();
 SetMoto(0,sd*rate);
 SetMoto(1,sd*rate);
if(sj)
 {
  while(seconds()<sj1+sj);
   SetMoto(0,0);
   SetMoto(1,0);
 }
}

void right(int sd,float sj,float rate)
{
 float sj1;
 sj1=seconds();
 SetMoto(0,sd);
 SetMoto(1,sd);
if(sj)
 {
  while(seconds()<sj1+sj);
   SetMoto(0,0);
   SetMoto(1,0);
 }
}

char readligh()
{
 unsigned char i,j,m;
 unsigned int k;
 j=0;m=1;
 for(i=0;i<5;i++)
  {
   k=AI(4+i);
   if (k>max1[i]) max1[i]=k;
   if (k<min1[i]) min1[i]=k;
   mid1[i]=(max1[i]+min1[i])/2;
   if (k>mid1[i]) j=j|m;
   m=m<<1;
  }
 if (j&0x10) m4=1;else m4=0;
 if (j&0x08) m3=1;else m3=0;
 if (j&0x04) m2=1;else m2=0;
 if (j&0x02) m1=1;else m1=0;
 if (j&0x01) m0=1;else m0=0;
 printf("%d%d%d%d%d %d %d",m4,m3,m2,m1,m0,leftc,rightc);
return(j);
}

void stop()
{SetMoto(0,0);SetMoto(1,0);}

void findline()
{

}


2010-11-03 20:20
system3288
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:79
专家分:140
注 册:2010-10-9
收藏
得分:0 
太长了,也看不懂,不知道楼主这个程序是要达到什么样的效果。
2010-11-03 20:45
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
收藏
得分:0 
真的很长

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2010-11-03 21:21
ou1111
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:87
专家分:162
注 册:2010-10-26
收藏
得分:0 
以后写程序要写注释,不然没主题,太长看不下去的
2010-11-03 22:02
快速回复:谁能帮我分析下不?
数据加载中...
 
   



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

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