2015-12-22 36 views
0

我在Arduino中有一个脚本,它会得到一个字母,并使事情尽可能简短我想用一个字符串与另一个变量组合来获取变量名我需要填写该功能。使用函数来写下Arduino中的变量名称

我喜欢这个,因为我有一个功能mySwitch.send(Int, 24)。对于第一Int可变我需要发送一个数字,是依赖于I发送的信,和对A_stat的电流值,在我的变量A_aan,A_uit,B_aan,B_uit等定义这些值

为如果是a_stat == 0,则字母AI的示例需要填写变量A_aan。如果a_stat == 1它需要填写A_off

对B我需要填写变量B_aan如果b_stat == 0,我需要填写变量名B_uit上如果b_stat == 1的Int的地方。

回答

1

由于变量的值在运行时有所不同,我认为唯一的解决方案是使用一些函数。

举例来说,如果你想获得#_aan,其中#是一个变量的值,可以使用以下功能:

int get_aan(char carat) 
{ 
    switch(carat) 
    { 
     case 'A': 
      return A_aan; 
     case 'B': 
      return B_aan; 
     ... 
    } 
    return AN_INVALID_VALUE_YOU_DEFINE; 
} 

记住某处定义的值无效。

如果你必须设置这个值,你可以写一组类似的功能:

void set_aan(char carat, char value) 
{ 
    switch(carat) 
    { 
     case 'A': 
      A_aan = value; 
      break; 
     case 'B': 
      B_aan = value; 
      break; 
     ... 
    } 
} 

您还可以包括一些标志。举例来说,如果你想获得变量A_aanA_stat = 0A_offA_stat != 0,并重复这一过程,每一个变量,只需要修改的第一个函数:

int get_the_val(char carat) 
{ 
    switch(carat) 
    { 
     case 'A': 
      if (A_stat) 
       return A_off; 
      else 
       return A_aan; 
     case 'B': 
      if (B_stat) 
       return B_off; 
      else 
       return B_aan; 
     ... 
    } 
    return AN_INVALID_VALUE_YOU_DEFINE; 
} 
相关问题