2013年6月25日火曜日

TJ3Bのセンサを増やしたいけど2

このブログの実験の内容や結果につきましては、ダイセン電子工業様の
サポート外の事ですのでダイセン電子工業様には絶対にお問い合わせ
なさらないようにして下さい。これを承諾出来なければ、このブログを
ご覧にならないでください。
このブログの内容を追試なさる場合は、自己責任で行ってください。
未成年者は、保護者メンターに確認を取ってください。
このブログの内容の良不良についての判断は、読者ご自身でなさって
下さい。未成年者は、保護者メンターに相談して下さい。
私の立場は、公開されているプログラムであることと、コンフィギュレーション
の設定や割り込みを設定することが法に触れることとは考えおりません。
この考え方が違うと思われる方は、ダイセン電子工業からローダー付き
マイコンをお買い求めください。ダイセン電子工業様の商売を妨害する
意図は全くありません。
技術の継承の無い、個人で参加している低学年の子どもたちの次の
ステップを低価格で用意したいだけです。
理論を知りたい方、教えたい方は、ブートローダの仕組みやC言語、
I2Cの使い方を勉強なさって独自プログラムをお創りになり是非公開して
ください。いろいろ逃げ口上を述べましたが、では 始めましょう。

調べたこと
ブートローダー・プログラム・エリア推定
0000 ~ 07FF 
ユーザー・プログラム・エリア推定
0800 ~ 使用するマイコンにより異なる    
コンフィギュレーション推定
C-Styleのデフォルトだといいな。
割り込み
0000h -> 0800h リセット・ベクタ 違うのかな082Ahかな
0008h -> 0808h 高優先度割り込み
0018h -> 0818h 低優先度割り込み
関係しそうなファイル
18f2420.lkr
p18f2420.h
cl2420s.Bat
c018i.c
Ds_Tj3.c
Ds_Tj3.h
C18は、直接コンフィギュレーションを書けない。

結論
Ds_Tj3.cとかのCのプログラムも.lkrもコンフィギュレーションの書き方
や読み方も私にはさっぱりわからないのでHEXファイルに出来あい
のHEXファイルから切り貼りして無理やり動かしてみます。
まず、C-StyleのSetupコマンドでスレイブのI/O番号の設定と各入出力の
設定を行います。他にプログラムは、無条件ループを入れました。これをビルドします。
フォルダにHEXファイルができます。これに切り貼りして加工を行います。
HEXファイルはメモ帳で開きます。
高低割り込みは、HEXファイルの最初の行
:020000040000FA
の後に次の行を貼り付けます。
別設定へジャンプして終わったら戻れというのを2個書いただけです。
:020000040000FA
:0600080004EF04F01200F9
:060018000CEF04F01200E1
コンフィギュレーションは、HEXファイルの最後の行
:00000001FF
の前に次の行を貼り付けます。
PICの書き込みソフト等に読み込ませれば設定を確認出来ます。
:020000040030CA
:0100010008F6
:0100020018E5
:010003001EDE
:010005008377
:010006008178
:010008000FE8
:010009008076
:01000A000FE6
:01000B00A054
:01000C000FE4
:01000D0000F2
:00000001FF
さて、後はリセット・ベクタですが、これがどこに飛べばいいのか、
さっぱりわかりません。次の行をHEXファイルの2行目に貼り付けます。
:0600000000EF04F0120005
加工の終わったHEXファイルをPIC18F2420などの生PIC
http://akizukidenshi.com/catalog/g/gI-03554/
http://akizukidenshi.com/catalog/g/gI-03602/
PIC専用の書き込み器で書き込めば、拡張センサ・ボード用のマイコン
として使用出来るかと思います。だめみたい。はぁ~。
ボードの作成加工は各自で工夫なさってください。
これで、超音波距離センサ、ボールセンサ、ラインセンサをめいっぱい
登載することが出来るようになると思いますよ。
ただし、重量制限に注意してくださいね。オムニ車両ではすぐに重量
オーバーになるかもしれませんね。
また、車体の形状や電源の容量も再検討が必要になってくるでしょうね。
あたらしいことをひとつ増やすと考えないといけない事は何倍にもなって
返ってくることを忘れないでください。
センサの数の差が戦力の決定的差ではありません。
つづく。

0 件のコメント: