void dlms (uint x);
void ctrl (cf,n){
bit cf;
uint n;
{ uint i;
uchar j=0x01;
if (cf=0) for (i=0;i <n;i++)
{P1 = j;
dlms (DL);
j=j < <1;
if ((j==0x04)) j=0x01;
}
else
{for (i=0;i <n;i++)
{P1 = j;
dlms (DL);
j=j> > 1;
if (j==0) j=0x04;
}
}
}
void main (void)
{
if (DR==1) ctrl(1,100);
else ctrl(0,100);
}
void dlms (uint x);
void ctrl(bit cf,uint n);
void ctrl (bit cf,uint n)
{ uint idata i;
uchar idata j=0x01;
if (!cf)
for (i=0;i <n;i++)
{P1 = j;
dlms(500);
j=j < <1;
if ((j==0x04)) j=0x01;
}
else
{for (i=0;i <n;i++)
{P1 = j;
dlms (500);
j=j> > 1;
if (j==0) j=0x04;
}
}
}
void main (void)
{
char idata DR_T;
DR_T=DR;
if (DR_T==1) ctrl(1,100);
else ctrl(0,100);
}
void dlms (uint x)
{
}
我大致的修改了一下,你的代码写的象C++代码,C与C++代码在嵌入式中有本质的细节上的不同,是需要注意的!