User manual
346
mikoPascal PRO for dsPIC30/33 and PIC24
MikroElektronika
Copy Code To Clipboard
program Flash_Test;
var WriteWordArr : array[8] of word;
WriteByteArr : array[32] of byte;
ReadByteArr : array[40] of byte;
ReadWordArr : array[20] of word;
pw : ^word;
pb : ^byte;
i : word;
temp_byte : byte;
begin
// Initialize arrays
WriteWordArr[0] := ‘*’; WriteWordArr[1] := ‘m’; WriteWordArr[2] := ‘i’; WriteWordArr[3]
:= ‘k’;
WriteWordArr[4] := ‘r’; WriteWordArr[5] := ‘o’; WriteWordArr[6] := ‘E’; WriteWordArr[7]
:= ‘*’;
WriteByteArr[0] := ‘m’; WriteByteArr[1] := ‘i’; WriteByteArr[2] := ‘k’; WriteByteArr[3]
:= ‘r’;
WriteByteArr[4] := ‘o’; WriteByteArr[5] := ‘E’; WriteByteArr[6] := ‘l’; WriteByteArr[7]
:= ‘e’;
WriteByteArr[8] := ‘k’; WriteByteArr[9] := ‘t’; WriteByteArr[10] := ‘r’; WriteByteArr[11]
:= ‘o’;
WriteByteArr[12] := ‘n’; WriteByteArr[13] := ‘i’; WriteByteArr[14] := ‘k’; WriteByteArr[15]
:= ‘a’;
WriteByteArr[16] := ‘ ‘; WriteByteArr[17] := ‘F’; WriteByteArr[18] := ‘l’; WriteByteArr[19]
:= ‘a’;
WriteByteArr[20] := ‘s’; WriteByteArr[21] := ‘h’; WriteByteArr[22] := ‘ ‘; WriteByteArr[23]
:= ‘e’;
WriteByteArr[24] := ‘x’; WriteByteArr[25] := ‘a’; WriteByteArr[26] := ‘m’; WriteByteArr[27]
:= ‘p’;
WriteByteArr[28] := ‘l’; WriteByteArr[29] := ‘e’; WriteByteArr[30] := ‘.’; WriteByteArr[31]
:= 0;
pb := @WriteByteArr;
//--- erase the block rst
FLASH_Erase32(0x006000);
pb := @WriteByteArr[0];
FLASH_Write_Compact(0x006000, pb, 36);
(*
This is what FLASH_Write_Compact() does ‘beneath the hood’
*
FLASH_Write_Init(0x006000, pv1);
FLASH_Write_Loadlatch4_Compact();
FLASH_Write_Loadlatch4_Compact();
FLASH_Write_Loadlatch4_Compact();
FLASH_Write_DoWrite();
*)
//--- read compact format
pb := @ReadByteArr;
FLASH_Read4_Compact(0x006000, pb);
pb := pb + 12;
FLASH_Read4_Compact(0x006008, pb);
pb := pb + 12;