|
我是用keil c编写的这个程序是一个子程序,别的都通过了,就这一段有问题,编译过不去,但又不报具体哪错了,大家看看,我急用。
void rocker(void)
{ //功能按输入电压12v计算
do
{
adcread();
if(adcoord[0]==6)
plane=0;
else if(adcoord[0]<6)
plane=(6-adcoord[0])*10;//9.375;
else if(adcoord[0]>6)
plane=(adcoord[0]-6)*10;//9.375;
if(adcoord[1]==6)
apesk=0;
else if(adcoord[1]<6)
apesk=(6-adcoord[1])*10;//9.375;
else if(adcoord[1]>6)
apesk=(adcoord[1]-6)*10;//9.375;
if(pr_d)
{ if(adcoord[0]==6)
if(adcoord[1]==6)
aspect=0x00; //停
if(adcoord[1]<6)
aspect=0x10; //下
if(adcoord[1]>6)
aspect=0x08; //上
if(adcoord[0]<6)
if(adcoord[1]==6)
aspect=0x04; //左
if(adcoord[1]<6)
aspect=0x14; //左下
if(adcoord[1]>6)
aspect=0x0c; //左上
if(adcoord[0]>6)
if(adcoord[1]==6)
aspect=0x02; //右
if(adcoord[1]<6)
aspect=0x12; // 右下
if(adcoord[1]>6)
aspect=0x0a; //右上
se_data[0]=0xff;
se_data[1]= address;
se_data[2]=0x00;
se_data[3]=aspect;
se_data[4]=plane;
se_data[5]=apesk;
se_data[6]=se_data[1]+se_data[2]+se_data[3]+se_data[4]+se_data[5];
se_longer=7;
}
if(pr_p)
{
if(adcoord[0]==6)
if(adcoord[1]==6)
aspect=0x00; //停
if(adcoord[1]<6)
aspect=0x10; //下
if(adcoord[1]>6)
aspect=0x08; //上
if(adcoord[0]<6)
if(adcoord[1]==6)
aspect=0x04; //左
if(adcoord[1]<6)
aspect=0x14; //左下
if(adcoord[1]>6)
aspect=0x0c; //左上
if(adcoord[0]>6)
if(adcoord[1]==6)
aspect=0x02; //右
if(adcoord[1]<6)
aspect=0x12; // 右下
if(adcoord[1]>6)
aspect=0x0a; //右上
se_data[0]=0xa0;
se_data[1]=address;
se_data[2]=0x00;
se_data[3]=aspect;
se_data[4]=plane;
se_data[5]=apesk;
se_data[6]=0xaf;
se_data[7]=se_data[1]^se_data[2]^se_data[3]^se_data[4]^se_data[5];
se_longer=8;
}
send(se_data,se_longer);
// SBUF=se_data[se_longer];
}
while(drv3!=0&&scan2!=0);
}
|
|