progmem

    0热度

    1回答

    我正在使用带有两个压电元件的独立Atmega328P来产生一些音乐。 我已经定义了音符的频率的一些常数。 然后我定义了一个包含第一个和第二个piezo音符和音符长度的结构。 然后,我制作了更多的这些结构数组来描述每首歌曲。 问题是,这种方式我很快就耗尽内存。 我试图在PROGMEM中存储结构数组,以避免这个问题。 我试图使用一个名为PROGMEM_readAnything,memcpy_P()或p

    0热度

    3回答

    我正在一个小型的HTTP服务器上工作。我正在建立一个路由器,因为可能有很多路由,所以我想把它们放到闪存中,这样我就不必使用有价值的SRAM。但是,无论我是否正确地理解某些内容或发生了一些奇怪的事情,因为我似乎无法从闪存中读回存储的数据。 我有一个结构,其中包含一个函数指针和一个字符指针。我想将这些结构的数组存储到闪存中并将其读回。但是,通过一个小的调试打印,我可以看到我无法正确读回字符指针。它将垃

    -1热度

    1回答

    我想读取我的Arduino UNO上闪存中一些字符串的长度。数组string_table给我的问题,如果我得到它的索引与编译器优化为一个常数,然后我得到预期的价值。如果我在运行时使用某个变量来访问它,那么每次我都会得到不同的答案。 我不认为这是特定于Arduino,因为我似乎没有调用任何Arduino特定的功能。 代码: #include <avr/pgmspace.h> // Entries

    0热度

    1回答

    我与有AVR控制器ATmega16的Flash和Sram.i的1KB的16KB已经存储的数据在一个静态数组即static char raw_data[15361];,并试图在USART发送使用下列函数工作: void USART_TxChar( char data) /* Data transmitting function */ { UDR = data;

    0热度

    1回答

    // Sting for the Name extern const PROGMEM char name[]; //Data structure of the Heap typedef struct { AllocStrategies strategy; uint16_t size; MemAddr start; MemDriver* drive