机器人c语言编程

机器人c语言编程,第1张

机器人编程所采用的语言1.VJC 编程语言又称为机器人C语言,是一种易学易用的编程语言。2.图形化编程语言(G语言)还有与机器人语言相关的编程语言:通用C语言 通用汇编语言 通用LOGO语言 通用QBASIC语言

//设置左右马达参数

void ZYMotor(unsigned char ZState, unsigned char ZSpeed, unsigned char YState, unsigned char YSpeed)

{

SetMotor(_MOTOR_ZuoMotor_, ZState, ZSpeed)

SetMotor(_MOTOR_YouMotor_, YState, YSpeed)

}

//确认各个端口的状态

void ShiBieXian()

{

n=1

XJ[1]= GetADScable(_SCABLEAD_HB1_)

XJ[2]= GetADScable(_SCABLEAD_HB2_)

XJ[3]= GetADScable(_SCABLEAD_HB3_)

XJ[4]= GetADScable(_SCABLEAD_HB4_)

XJ[5]= GetADScable(_SCABLEAD_HB5_)

while(n<=5)

{

if(XJ[n]>FZ[n])

{HB[n]=0}

else

{HB[n]=1}

n++

}

}

void GoOnLine()

{

if(HB[2]&&HB[3]&&HB[4])

{ZYMotor(0,60,0,60)}

else

{

if(HB[2]&&HB[3])

{ZYMotor(2,20,0,80)}

else

{

if (HB[2])

{ZYMotor(2,50,0,80)}

else

{

if(HB[3]&&HB[4] )

{ZYMotor(0,80,2,20)}

else

{

if(HB[4])

{ZYMotor(0,80,2,50)}

else

{

if (HB[1]&&!HB[2]&&!HB[3]&&!HB[4]&&!HB[5])

{ZYMotor(2, 80, 0, 80)}

else

{

if (!HB[1]&&!HB[2]&&!HB[3]&&!HB[4]&&HB[5])

{ZYMotor(0, 80, 2, 80)}

else

{ZYMotor(0, 60, 0, 60)}

}

}

}

}

}

}

}

这样写吧,清楚一点。

我觉得我这样定义的话会让程序清楚很多。

typedef

struct

{

int

x

int

y

}

pos_stru

void

main(void)

{

int

cmd

int

face[4]={0,1,2,3}

//x+,y+,x-,y-

定义行进方向

int

face_start=face[0]

//初始方向

pos_stru

start={0,0}

//开始位置

while(scanf("%d",&cmd)!=NULL)

{

if(cmd==0)

break

if(cmd<-2)

//错误处理

{

printf("Invide

input.")

}

switch(cmd)

//先处理方向问题-1/-2

{

case

-1:

//左转

if(face_start<3)

face_start=face[face_start+1]

else

face_start=face[0]

break

case

-2:

//右转

if(face_start>0)

face_start=face[face_start-1]

else

face_start=face[3]

break

default:

break

}

if(cmd>0)

//不是方向的处理

switch(face_start)

{

case

0:

start.x+=cmd

break

case

1:

start.y+=cmd

break

case

2:

start.x-=cmd

break

case

3:

start.y-=cmd

break

default:

break

}

//printf("tmp

out:x=%d,y=%d\n",start.x,start.y)

}

printf("result:x=%d,y=%d\n",start.x,start.y)

}

out

put:

-1

2

-2

1

0

result:x=1,y=2

Press

any

key

to

continue

问题补充:

没给定义应该是都初始化为0了吧~

答:不对。随机的这也是我们要求C语言必须初值的原因。下面是试验

void

main(void)

{

int

a

int

b=0

printf("a=%d,b=%d\n",a,b)

}

output:

a=-858993460,b=0

Press

any

key

to

continue


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7826411.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-10
下一篇2023-04-10

发表评论

登录后才能评论

评论列表(0条)

    保存