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

    1熱度

    1回答

    我正在使用ATMEL Studio 6.2及其帶有avr-gcc(avr8-gnu-toolchain)的工具鏈。我有一個需要被置於閃光燈(PROGMEM)一個變量,我宣佈它作爲一個全球性的: static const uint16_t gPrgLen PROGMEM __attribute__((used)) = 0; 編譯器不抱怨,鏈接器不會抱怨,但是當我打開.lss文件,沒有找到gPrg