【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-16 04:45
我要回答
请先登录
何其昌

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

2020-05-16 04:47:21

最新问答

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •