gpt4 book ai didi

c - 如何声明存储在 PROGMEM 中的矩阵

转载 作者:行者123 更新时间:2023-11-30 16:18:51 25 4
gpt4 key购买 nike

我正在尝试编写一个头文件来驱动 LED 矩阵,但我遇到了无法解决的语法错误

我已经在我认为有必要的地方添加了“;”并检查了https://www.nongnu.org/avr-libc/user-manual/pgmspace.html

#ifndef max7219_H_
#define max7219_H_

#include <io.h>
#include <pgmspace.h>
#include <delay.h>
#include <stdint.h>

#define SLAVE_SELECT PORTB &= ~( 1<<PB4 );
#define SLAVE_DESELECT PORTB |= ~( 1<<PB4 );

char characters[96][5] PROGMEM =
{
{
0b00000000,
0b00000000,
0b00000000,
0b00000000,
0b00000000
}
};

错误是:错误:max7219.h(15),#included 来自:p2.c:';'预计

第15行是char字符[96][5] PROGMEM = ...

最佳答案

const PROGMEM uint8_t characters[96][5] = {
{
0b00000000,
0b00000000,
0b00000000,
0b00000000,
0b00000000
},
... // 95 more symbols
};

注意,如果一个数组声明了维度,它应该包含初始化器中的所有数据,即所有 96 个符号。

UPD:该错误可能是由 #include "max7219.h" 之前的 pc2.c 中的代码引起的如果您有多个“包含”,请检查前一个。即:

#include "a.h"
#include "b.h"
#include "max7219.h"

错误可能出现在b.h的末尾

关于c - 如何声明存储在 PROGMEM 中的矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55774726/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com