多个状态流程相同,输入输出不同的函数如何整合在一起
有许多个函数它的执行的状态流程是一样的相同的,但是它们执行过程对外部端口的输入输出操作是不同的,有什么方法可以把这多个函数整合在一起,方便管理,
如:有以下两个函数,它们的状态流程是一样的,只是改变把a,变为b,就可以实现不同的功能。
该如何把它们整合?
void a(void)
{
unsigned char read_a;
switch(a_State)
{
case(a_State_1):
{
a_Pin1 = 1;
}
case(a_State_2):
{
a_Pin2 = 1;
}
case(a_State_3):
{
read_a = a_Pin3;
}
}
}
void b(void)
{
unsigned char read_b;
switch(b_State)
{
case(b_State_1):
{
b_Pin1 = 1;
}
case(b_State_2):
{
b_Pin2 = 1;
}
case(b_State_3):
{
read_b = b_Pin3;
}
}
} 用指针传参数进去处理。 这种方法都可以,但我想实现的是它在编译时,让编译器先预处理,生成一个实实在在的函数。可供我调用。 带参数宏定义
页:
[1]