程序怎样写?用什么算法?
void jisuan()
{
x1=sqrt(((a/12+L1)*(a/12+L1)-(b/12+L2)*(b/12+L2)+46*46)/92-3);
y1=43-sqrt((L1+a/12)*(L1+a/12)-(x1+3)*(x1+3));
L1=sqrt((x1+3)*(x1+3)+(43-y1)*(43-y1)); //求L1长度
L2=sqrt((43-x1)*(43-x1)+(43-y1)*(43-y1)); //求L2长度
L3=sqrt((x2+3)*(x2+3)+(43-y2)*(43-y2)); //求L3长度
L4=sqrt((43-x2)*(43-x2)+(43-y2)*(43-y2)); //求L4长度
if(L3>L1) {azf=1;a=12*(L3-L1);} //
if(L3L2) {bzf=1;b=12*(L4-L2);} //
if(L40) //步骤未走完
{
if(azf==0) azrun(); //正转
if(azf==1) afrun(); //反转
P1=0xff; //端口置1,防止电流过大
a--;
jisuan();
}
else { //步骤已走完
atzqd=0;
P1=0xff; //端口置1,防止电流过大
}
}
if(btzqd==1) //B步进电机
{
if(b>0) //步骤未走完
{
if(bzf==0) bzrun(); //正转
if(bzf==1) bfrun(); //反转
P1=0xff; //端口置1,防止电流过大
b--;
jisuan();
}
else { //步骤已走完
btzqd=0;
P1=0xff; //端口置1,防止电流过大
}
}
}
每走一步计算一次行吗?