gpt4 book ai didi

arrays - Arduino PROGMEM 字节数组

转载 作者:行者123 更新时间:2023-12-02 00:45:14 36 4
gpt4 key购买 nike

考虑这个使用 Arduino IDE 编译的代码片段:

PROGMEM  char charSet[]  = { 0x0, 0x8, 0x4, 0xc, 0x2, 0xA , 0x6, 0xE, 0x1, 0x9,0x5, 0xD, 0x3,0xB,0x7,0xF };
char reversed[] = { 0x0, 0x8, 0x4, 0xc, 0x2, 0xA , 0x6, 0xE, 0x1, 0x9,0x5, 0xD, 0x3,0xB,0x7,0xF };
char ff;

for (int i=0; i < 16; i++) {
Serial.print(" ");
Serial.print(reversed[i], HEX);
}

Serial.println(" ");
for (int i=0; i < 16; i++) {
Serial.print(" ");
ff = pgm_read_byte(&charSet[i]);
Serial.print(ff);
}

我希望两个 for 循环产生相同的输出。但输出是:

  0 8 4 C 2 A 6 E 1 9 5 D 3 B 7 F
FFFFFF94 FFFFFFB0 6 FFFFFF80 FFFFFF91 FFFFFFC7 3 62 FFFFFFE3 E FFFFFF94 5E 29 FFFFFF99 23 39

我错过了什么?

最佳答案

是的,缺少 const 关键字。

使用 prog_char 可能不是一个好主意,因为它在 gcc-avr 中被标记为已弃用,请参阅 avr/pgmspace.h

关于arrays - Arduino PROGMEM 字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12169374/

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