现在有一段代码如下,可以运行,功能是读取时间,并在屏幕中绘制一个数字:
- switch (hour() / 10) {
- case 0:
- {
- display.drawBitmap(0, 16, Number_0, 36, 72, GxEPD_BLACK);
- break;
- }
- case 1:
- {
- display.drawBitmap(0, 16, Number_1, 36, 72, GxEPD_BLACK);
- break;
- }
- case 2:
- {
- display.drawBitmap(0, 16, Number_2, 36, 72, GxEPD_BLACK);
- break;
- }
- case 3:
- {
- display.drawBitmap(0, 16, Number_3, 36, 72, GxEPD_BLACK);
- break;
- }
- case 4:
- {
- display.drawBitmap(0, 16, Number_4, 36, 72, GxEPD_BLACK);
- break;
- }
- case 5:
- {
- display.drawBitmap(0, 16, Number_5, 36, 72, GxEPD_BLACK);
- break;
- }
- case 6:
- {
- display.drawBitmap(0, 16, Number_6, 36, 72, GxEPD_BLACK);
- break;
- }
- case 7:
- {
- display.drawBitmap(0, 16, Number_7, 36, 72, GxEPD_BLACK);
- break;
- }
- case 8:
- {
- display.drawBitmap(0, 16, Number_8, 36, 72, GxEPD_BLACK);
- break;
- }
- case 9:
- {
- display.drawBitmap(0, 16, Number_9, 36, 72, GxEPD_BLACK);
- break;
- }
- }
复制代码 这当中使用到switch语句,而且每个条件触发的命令都类似。但这一大串代码看起来很臃肿,我想将其改成以下形式:
- //建立一个数组
- NUM_NAMES[] = { Number_0, Number_1, Number_2, Number_3, Number_4, Number_5, Number_6, Number_7, Number_8, Number_9 };
- display.drawBitmap(0, 16, NUM_NAMES[(hour() / 10)], 36, 72, GxEPD_BLACK);
复制代码 上方代码并不能正常运行,NUM_NAMES数组不能被正确调用。
现在问题是,这一个数组要怎么建立才合理呢?
|