gpt4 book ai didi

c++ - 由于折旧导致 Arduino FastLED 编译错误

转载 作者:行者123 更新时间:2023-11-28 05:54:48 27 4
gpt4 key购买 nike

我正在研究一个由 Arduino 控制的圣诞树,它有 500 个完全可寻址的 LED。我正在使用 FastLED 库,目前(虽然我将更新一些动画以通过采样音频控制)我正在使用来自 http://pastebin.com/Qe0Jttme 的代码作为起点。

以下行:(pastebin 示例中的第 36 行)

const PROGMEM prog_uint16_t levels[NUM_LEVELS] = {58, 108, 149, 187, 224, 264, 292, 309, 321, 327, 336, 348};

给我错误:

exit status 1 
'prog_uint16_t' does not name a type

这是因为它已经贬值了。我找到了替代品 here ,但现在由于折旧也出现以下行错误,但我不知道如何克服它。

const PROGMEM prog_uchar ledCharSet[20] = {
B00111111,B00000110,B01011011,B01001111,B01100110,B01101101,B01111101,B00000111,B01111111,B01101111,
B10111111,B10000110,B11011011,B11001111,B11100110,B11101101,B11111101,B10000111,B11111111,B11101111
};

返回相同的错误:

exit status 1
'prog_uchar' does not name a type

我使用的是 Arduino 1.6.6 版和最新的 FastLED 库。

最佳答案

如果有很多这样的 prog_ 类型,那么一个简单的解决方案是创建一个包含以下内容的头文件,并将其包含在使用这些类型的任何文件中:

#include <stdint.h>

typedef void prog_void;
typedef char prog_char;
typedef unsigned char prog_uchar;
typedef int8_t prog_int8_t;
typedef uint8_t prog_uint8_t;
typedef int16_t prog_int16_t;
typedef uint16_t prog_uint16_t;
typedef int32_t prog_int32_t;
typedef uint32_t prog_uint32_t;
typedef int64_t prog_int64_t;
typedef uint64_t prog_uint64_t;

如果 prog_ 类型的使用很少,或者如果您想正确修复代码,则只需将它们替换为适当的类型即可。例如:

const PROGMEM uint16_t levels[NUM_LEVELS] = {...};
const PROGMEM unsigned char ledCharSet[20] = {...};

关于c++ - 由于折旧导致 Arduino FastLED 编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34423244/

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