SyntaxHighlighter

2014年11月22日土曜日

16F1705

若干間違えた使い方をしながら、16F1705を試食中。
32MHzでの内蔵クロックと、UARTとADCをとりあえず使えるようにした段階。

UARTのピンが自由に割り当てられてびっくりしました。
dsPICだと普通だったけども。


コメントが文字化けしてますが、これはちょっとどうしようもない(閉じてから気付き全ロスト)

さっそくPickit3にハマる

最近のPIC(16F 4桁系)は、新しい機能が色々ついていますね。
PLLで32MHzで駆動したりとか、WDTがプログラムから制御できたりとか
入出力の切り替えをロックできたりとか。

それはさておき、先日Pickit3を買い、使おうとしたら早速ハマり掛けたので報告。

噂には聞いていましたが、未だにこうだとは思いませんでした。


現象は簡単。MPLAB IPEでもMPLAB XでもPickit3に接続できないというもの。
シリアルナンバー自体は表示されるのに、Connection Failed. と言われます。

知恵袋の回答(というか質問者の返答)を参考に解決。

PICkit3とパソコンの接続がうまくいきません。ノートパソコンwindows8.1... - Yahoo!知恵袋 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11133085266

※旧MPLABで認識させ、書き換えてからMPLAB Xで接続する、という手法もあるようです。

質問者の返答の通り、
1.Pickit3を一旦抜き
2.Pickit3本体のボタンを押しながら接続
3.ボタンを離すとPCが認識するので、押せるようになり次第
 即座にMPLAB IPEのConnectボタンをクリック。

うまくいくと、上のログのようにファームウェアの更新が始まります。
多分リカバリーモード的な何かなのでしょう。

タイミングがシビアっぽいです。
2回ほどうまく行かなかったので怪しみましたが、3回目で成功しました。

一度書き換わると以後、MPLABでも問題なく通信できます。

多分、MPLAB IPEでのConnectを、MPLAB XでのWriteにしても、同様に修復可能なんじゃないでしょうか。
にしても、初回接続時に特殊な操作が要るのはまいったものですね。
Pickit2だとそんなことは無かったのだけど。

通常の手順で更新不能なくらい重大なバグが入ったまま未だに販売してるのか、当たりが悪かったのか。

ネット上の情報によると、つなぐだけできちんと認識するPCと、そうでないPCもあるようです。
Windows 8.1(x86)なのが原因なのだろうか。


2014年11月20日木曜日

買ったぜ。

これで、昔ながらのPICを使った開発ができます。



pickit2がWin8.1に対応しなくなって、Arduinoばっか使ってたんですが、いい加減Arduinoのコスパの悪さに気がついてしまったので、戻りたくなりました。