|
下面的函数都是对同一个设备的功能设置,但函数太多,各个函数内部有共同点也有不同点,我的想法是
把全部函数能够合在一起用一个函数来代替,这样就显得很精简了,但问题的难点就在于每个函数都有不
同点,想不到什么好的办法来实现这个,所以特来请教傻孩子有什么好的代码思路,下面提供了3个函数
,这3个函数有共同点也有不同点
u8 fun1(u8 n,u8 m)
{
switch(step)
{
case 0:
if(Manu==0)
SetData(SetAuto,0); //发送串口数据设置设备
else
{
Mode=3;
WriteFlash(Mode_Adr,1,&Mode); //写Flash
SendData(ModeSet,Mode);
}
break;
case 1:
if(Manu==0)
{
if(ReciveData[2]==3 || ReciveData[2]==11)
SendData(n,m); //发送串口数据设置设备
else
return 1;
}
else
SendData(n,m); //发送串口数据设置设备
break;
case 2:
return 1;
default:
return 0;
}
step++;
return 3;
}
u8 fun2(u8 m,u8 n)
{
uint8_t i;
switch(step)
{
case 0:
SendData(size,m);
break;
case 1:
SendData(high,0);
if(Cause)
{
if(Mode==0) step++;
}
else
step++;
break;
case 2:
Mode=0;
WriteFlash(Mode_Adr,1,&Mode);
SendData(ModeSet,Mode);
break;
case 3:
SendData(pic,0);
break;
case 4:
Level=ReciveData;
Flash=1;
return 1;
default:
return 0;
}
step++;
return 3;
}
u8 fun3(u8 n,u8 m)
{
switch(step)
{
case 0:
if(far)
SendData(Far,3);
else
SendData(Far,2);
break;
case 1:
if(far)
{
SendData(n,m);
}
else
return 1;
break;
case 2:
return 1;
default:
return 0;
}
step++;
return 3;
}
....................
u8 funn(u8 n,u8 m)
{
....................
} |
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|