Sahara's WebLog

日記のような、備忘録のような、うらみつらみのような、自慢のような…。

「 PICkit3に良く似た、ほとんど同じ機能を持った何か。」が若干不調?


追記(2016/09/04)
接続ケーブルの端子をきれいにしたら直った(一番下の追記参照)。


PICkit3に良く似た、ほとんど同じ機能を持った何か。」とか、回りくどい書き方をしているが、要は中華製のクローンだ()。
今まで全くトラブルもなく使ってきていたが、今日、書き込む際にエラーが出た。

Target Device ID (0x####) does not match expected Device ID (0x####).

「書き込み対象のデバイスIDである0x####は、想定されたデバイスIDである(0x####)と一致しません。」

pickit3_clone_trouble_01
pickit3_clone_trouble_02
他はまったく変更しないで、電圧だけを下げていってみる。
3.625Vまで下げたところで、問題なく書き込めるようになった。
pickit3_clone_trouble_03
もちろん、純正のPICkit3では5Vでも問題なく書き込める。
まったく同じ回路、接続なので、Cloneに問題がある。
しかも、書き込み時に供給する電圧が低くないとダメということだ。
Cloneに載ってるレギュレータあたりがへたってきたのか、そもそも、全体に寿命が来ているのかというところだと思う。
ダメもとでファームウェアを書き戻してみたりもしたが、古くするとそもそもうんともすんとも言わなくなった。
ブートローダを起動して最新のファームウェアにすると、元の状態に戻るだけで改善はしない。
やはり、ハードの問題だろう。

追記
エラー・メッセージの中に登場する(0x3fe0)は internal Device ID mask というものらしい。
ここで使っている PIC16F88 の Device ID は 0x760 だ。
「旦那、つながっているのはPIC16F88のはずですから、あっしとしちゃあIDは0x760のつもりでしたが、なんと0x3fe0でしたぜ。」
と言ってきているわけだ。

追記(2016/09/04)
PICkit3とブレッドボードとの接続には手製のケーブルを使っている。
これ、最低でもかれこれ2年半は使い続けている。
20140309163908pickit3tobbord
ふと思い立って、このケーブルのPICkit3へ挿すピンヘッダ部分と、ブレッドボードへ挿すピンを、アルコールを含ませたティッシュでこすってみた。
特にブレッドボード側のピンの汚れはひどかった。
すると、トラブルがウソのように出なくなった。
純正品との接続にも同じケーブルを使っているので、これが原因とするにはちょっと弱い気もする。
だが、PICkit3側のソケットも汚れていて、それとの相乗効果でエラーの原因となっていた可能性はある。
純正品のPICkit3側のソケットは、あまり汚れてないはずだから。
あるいは、クローンの方が電気的に余裕が無いので、影響が出やすいのかもしれない。
いずれにしても、一応、覚書きとして残しておく。
追記(2016/09/10)
その後、数種類の別のPICに書き込んだが、全く問題は出ていない。
また何か不具合があれば追記する。
追記(2016/09/13)
上の例は、ちょっと特殊な原因だったが、一番ありがちなのは解決策は以下の2つのようなケースだ。
pickit3_error_reset
どちらも、プロジェクト名を右クリックして Project Properties を表示する。
1.PICkit3 の Power の Power target ciecuit from PICkit3 にチェックを入れる。
それでもダメな場合は、
2.右上にある Reset をクリックする。
この2.のケースが結構あり、これで復旧できることに気づかない場合が多い。

このエントリーをはてなブックマークに追加

Posted under: PIC その他


コメントを残す

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

Time limit is exhausted. Please reload CAPTCHA.