ROMエリアに定数データテーブルを置きたいのですが?
コンパイラーはROMエリアに読み出し専用のデータ構造を置くことをサポートしています。PICデバイスは、ROMとRAMのデータは完全に分離されています。そしてこれらのアクセスに対して制限を加えています。例えば10個の要素を持つバイト型の配列をROMに取るときは次のようにします。:
この配列TABLEのアクセスは:
とはできますが、次のようにはできません。
この場合、テーブルのポインターは作成できません。
同様にCONSTを使用することによりLONG型やFLOAT型のデータ型を持つ構造も使用することが
できます。
上記のようなテーブルの添え字を使ったアクセスのインプリメンテーションはコンパイル時間
が掛かります。
BYTE CONST TABLE [10]= {9,8,7,6,5,4,3,2,1,0};
x = TABLE [i];
OR
x = TABLE [5];
ptr = &TABLE [i];