簡體   English   中英

如何從嵌套的 PROGMEM 數組中讀取 uint32_t 值?

[英]How do I read uint32_t values out of a nested PROGMEM array?

我有一個 uint32_t 值的 16x16 矩陣數組: const uint32_t sprites[][16][16] PROGMEM = { ... }; 我正在嘗試使用pgm_read_dword(sprites + (submode * 256 + row * 16 + column) * sizeof(uint32_t))讀出值,但我轉身並對地址數學的工作方式感到困惑。 在這種情況下, submode映射到矩陣索引。 submoderowcolumn都聲明為uint8_t ,以防萬一它有幫助。

如何正確計算pgm_read_dword的地址?

pgm_read_dword甚至是我想嘗試讀出uint32_t值的方式嗎? 我立即將輸出傳遞給需要該類型的方法。

根據評論中的 datafiddler,它就像調用pgm_read_dword(&sprites[submode][row][column])並讓編譯器處理偏移計算一樣簡單。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM