【keil中,这段语句怎么更简洁的表达switch(musi-查字典问答网
分类选择

来自韩宏宪的问题

  【keil中,这段语句怎么更简洁的表达switch(music_num){case0:M(song1[i][0],song1[i][1],music_pause|music_stop);IO_vWritePort(P5,0x07);if(music_stop)i=0;elseif(music_pause);elseif(song1[i][0]==ED)i=0;else{i++;IO_vWritePort(P5,0x06);}brea】

  keil中,这段语句怎么更简洁的表达

  switch(music_num)

  {

  case0:

  M(song1[i][0],song1[i][1],music_pause|music_stop);

  IO_vWritePort(P5,0x07);

  if(music_stop)i=0;

  elseif(music_pause);

  elseif(song1[i][0]==ED)i=0;

  else{i++;IO_vWritePort(P5,0x06);}

  break;

  case1:

  M(song2[i][0],song2[i][1],music_pause|music_stop);

  IO_vWritePort(P5,0x0B);

  if(music_stop)i=0;

  elseif(music_pause);

  elseif(song2[i][0]==ED)i=0;

  else{i++;IO_vWritePort(P5,0x0A);}

  break;

  case2:

  M(song3[i][0],song3[i][1],music_pause|music_stop);

  IO_vWritePort(P5,0x0D);

  if(music_stop)i=0;

  elseif(music_pause);

  elseif(song3[i][0]==ED)i=0;

  else{i++;IO_vWritePort(P5,0x0C);}

  break;

  default:break;

  }

  能不能用一个

  M(song3[i][0],song3[i][1],music_pause|music_stop);

  IO_vWritePort(P5,0x0D);

  if(music_stop)i=0;

  elseif(music_pause);

  elseif(song3[i][0]==ED)i=0;

  else{i++;IO_vWritePort(P5,0x0C);}

  这样的语句,用指针来简洁的表达?

1回答
2020-05-1604:45
我要回答
提示:回答问题需要登录哦!
何其昌

  可以把这些部分放在一个函数里,参数传递song常数数组的指针,IO_vWritePort的第二个参数两次,返回i的改变不知道你的单片机是什么类型的,如果是51,处理指针是弱项,最好加存储空间指定,看看会不会精简一点,不过不管怎么...

2020-05-16 04:47:21
大家都在问
最新问答