嵌入式 利用宏来封装函数示例

2019-07-13 01:11发布

root@u12d32:/home/kongjun/work/board/char_drive/led_light_drive# cat
joseph_light.c
#include
#include
#include
void joseph_system(char *addr,char *value)
{
 char buf[64] = {0};
 memset(buf,0,64);
 sprintf(buf,"himm %s %s",addr,value);
 system(buf);
}
#define JOSEPH_LIGHT_CTL(addr,value) {joseph_system(addr,value);} int main(int argc,char **argv)
{
 if(argc != 2)
 {
  printf("The param is Two ! ");
  return -1;
 }
 int light_status = 0;
 light_status = atoi(argv[1]);
 switch(light_status)
 {
  case 0:
   {
    JOSEPH_LIGHT_CTL("0x200f009c","0x00000001");
    JOSEPH_LIGHT_CTL("0x201A0400","0x00000080");
    JOSEPH_LIGHT_CTL("0x201A03FC","0x00000000");
    break;
   }
  case 1:
   {
    JOSEPH_LIGHT_CTL("0x200f009c","0x00000000");
    JOSEPH_LIGHT_CTL("0x201A0400","0x00000080");
    JOSEPH_LIGHT_CTL("0x201A03FC","0x00000000");
    break;
   }
  default:
   break;
 }
 return 0;
}
root@u12d32:/home/kongjun/work/board/char_drive/led_light_drive#