..\code\demo_lcd.c(246): error C216: subscript on non-array or too many dimensions还是报错
时间: 2024-03-17 17:44:16 浏览: 123
USR-C216_Lib_V1.1 -1.zip
非常抱歉,我看漏了一个错误。在修复上一个错误后,还需要将 `LCDSEG12` 和 `LCDSEG13` 声明为数组。因此,你需要将代码修改为:
```c
void displayMinutesOnLCD(unsigned int minutes) {
const int DIGIT_SEGMENTS[10][2] = {
{0x07, 0x0D}, // 0
{0x00, 0x05}, // 1
{0x05, 0x0B}, // 2
{0x01, 0x0F}, // 3
{0x02, 0x07}, // 4
{0x03, 0x0E}, // 5
{0x07, 0x0E}, // 6
{0x01, 0x05}, // 7
{0x07, 0x0F}, // 8
{0x03, 0x0F} // 9
};
unsigned int a = minutes / 10;
unsigned int b = minutes % 10;
for (int i = 0; i < 2; i++) {
const int* segments = DIGIT_SEGMENTS[i == 0 ? a : b];
LCDSEG12[i*2] = segments[0];
LCDSEG13[i*2] = segments[1];
}
}
```
请注意 `LCDSEG12` 和 `LCDSEG13` 的声明,它们现在是数组了。如果你还有其他问题,请随时向我提问。
阅读全文