現在有一段代碼如下,可以運行,功能是讀取時間,并在屏幕中繪制一個數字:
- 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數組不能被正確調用。
現在問題是,這一個數組要怎么建立才合理呢?
|