Code
const
WSData : Array[0..7] of Byte = ($A1, $55,..); // Flash const
structconst
WSDataR : Array[0..7] of Byte = ($A1, $55,..); // Flash const wird beim Start ins RAM kopiert
//.....
SpiOut1(@WSData,3) ; // hier zeigt der Pointer in das RAM was nicht funzt
SpiOut1(FlashPtr(@WSData),3) ; // hier zeigt der Pointer ins Flash aber "SPIOut1" ganz unten weiß da nichts mehr von und greift wieder auf das RAM zu
SpiOut1(@WSDataR,3) ; // das funzt aus dem RAM
// oder so für größere RAM Blöcke
procedure SPIout1Flash(pData: pointer; Count: byte);
var
idx : byte;
begin
for idx:= Count downto 0 do
SPIout1(FlashPtr(pData)^);
Inc(pData);
endfor;
end;
SpiOut1Flash(@WSData,3) ; // das funzt
// aus Flash herraus ist natürlich etwas langsamer spart aber RAM