NaoPPIC18Fではプログラムコード内に置いたデータを連続して読み出せる機能がついた。従来データはサブルーチンのリターン戻り値としてわたす命令のため、操作しづらく、メモリ消費も問題であった。PIC18Fでは新たなレジスタと命令コードによりプログラム内に配置したデータを有効に利用することができる。有効利用とは、PIC18Fは命令が16ビット幅であるために、8ビットデータが2つ入れることができる。読み出しにはTBLPTR(22bit幅)をポインタとして、TABLATレジスタ(いつもTBLATと書いてしまう..)と通してデータの読み(書き)を行う。TABLATアクセスにより、ポインタ更新機能が働き、連続したアドレスへのアクセスが簡単にできる。うん、すばらしいと言うことで、実際にやってみた。?いろいろなテストプログラムを作りやってみたが動かない。この辺の新しいPICの機能に関して、Webにも情報がない。困った挙句、MicroChipのPIC18F26/45/46K40に関するErrataをチェックした。register(不揮発性メモリコントロールレジスタ)のNVMREG<1:0>に10を入れろとのこと。本来であれば、プログラム命令なので、レジスタの影響を受けてはだめなはずであるがこの命令実行時にはNVMCONの影響を受けるらしい。リセットでは00となっている。Locationsやったとばかりに試してみるが、やはりうんともすんとも言わない。?さらにもう一度最初から試しを繰り返すことに。PIC18F46K40であるが、このCPUには省エネ用にIC内部の各機能モジュールの電源を制御できる。NVMCONということで、ひょっとしてと言うことでNVMの電源を入れてみた。0のNVMの電源も設定が必要のようである。REGISTERは省エネ面ではこれまでに無いすごい機能であるが、まだいくつか問題があるようで、これが原因でかなり余分に開発時間を消費している。マニュアルのモジュール電源やクロックがブロック図に書かれていないため、どこまで影響があるかとか、入っていると想像される回路が書かれていないために苦労している。WordPress.。