PIC-USB の改善

以前作成したPIC-CDCのプログラムを修正するたびにUSBの認識が正常に行われたり異常になったりと不安定な要素を持っていたのだけれどもこれの原因がようやく判明。おそらくこれで解決したはずだ。

はじめは変数の保存されるアドレスが原因で、バンク切り換えの問題なのかと思っていたがどうやら違うらしく、不安定ながらリセット押しながらUSBつなげて認識させるとかムリムリ動作させていた。

で、秋月電子通商さんとこのライタープログラムを見ていたら、拡張命令が有効になっていることに気がついた。

確かオフにしてたはずなんだがなと思いつつコンフィグレーションビットの行を見ると

#pragma DATA    _CONFIG4L, _DEBUG_OFF_4L & _XINST_ON_4L & _LVP_OFF_4L & _STVREN_ON_4L

となっていた。オンになってるじゃないですか。というわけで

#pragma DATA    _CONFIG4L, _DEBUG_OFF_4L & _XINST_OFF_4L & _LVP_OFF_4L & _STVREN_ON_4L

としてオフにして従来モードへ。
再度ビルドを行い書き込んだところこれまでの不安定が嘘のように収まった。

今のところ再現しなくなったので拡張命令とインデックスアドレスの機能が悪さしていたのだろうと思われます。
こういうこともあるのね。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください