*メモ ちょっとしたことを書くページ -秋月ライターのバグ PIC18F4520のCCP2はRB3かRC1にすることができるが、秋月のライターで書き込むとRC1にすることができない。 -AE-PICPGM USB(秋月のPICKit2互換ボード)の問題点 MCLR端子をI/Oポートとして使うと書き込みが終わった瞬間に動作を開始してしまうので非常に危険。 特に左側のソケットは8ピンと18ピンの電源端子がそれぞれ設けてある関係でプログラムによっては起動した瞬間に地絡、天絡してしまいPICが破壊される。 この問題について秋月に問い合わせたところ、仕様であるとの事だった。(現在の注意文はこの問い合わせ後に追加された。) なお、注意文に「PIC16F648やPIC16F84等を内蔵発振&NOMCLR設定で書き込む」とあるが648と84には内蔵発振機能は存在しない。 また、USBの電源がソケットに直結しているので逆にPICをセットするとPCかPICかが壊れる。要注意 とまぁ問題の多いライターなのだが多種に対応してソケット付きであるライターはこれしか無いのが現状。 -PIC18F2320のエラッタ SPI通信スレーブモード時にSSピンがうまく機能しないエラッタが存在する。 SSピンと直列に抵抗をいれると対処できるが、かなり不安定な動作をするので注意して使ったほうがいい。 ちなみにPIC18F2431にも同じエラッタが存在するがエラッタ一覧に無い。要注意 -セラロックの相性 秋月で売っているEFOMC1005A4はPIC18F4520と相性が悪い。まれに発振しないことがある。 -PIC16F88 MCLR端子をI/Oポートに使うと、データの読み込みができずベリファイが失敗する。 -CCSコンパイラの注意1 内蔵UARTモジュールを使う際は送信と受信のピンを両方指定しなければ、ソフトウェアUARTとして構築されてしまうので送信や受信だけをしたい場合でも両方指定すること。 また古いバージョンだとソフトウェアUARTがうまく動かない場合がある。 -CCSコンパイラの注意2 古いバージョンだとPIC18F2431のPWM系の関数が全滅しているので注意。あとMCLRとNOMCLRが逆になっている。 さらにMPLABのシミュレーションにもいくつかバグがあるので実際に動かしてチェックすること。 -CCSコンパイラの注意3 setup_spi()関数のオプションにSPI_SAMPLE_AT_ENDというものがあるのだが、なぜか後閑哲也氏の本から抜け落ちているので注意。 このオプションを指定しなければデュアルショック2と通信できない。 setup_spi(spi_master | spi_l_to_h | SPI_CLK_T2 | SPI_SAMPLE_AT_END);//デュアルショック2用 -デュアルショック2の感圧ボタンを使う際の注意 感圧ボタンを使うにはネイティブモードに移行する必要があるが、ネイティブモードへの以降コマンドを発行してから すぐには反映されない場合があるので常に応答IDのチェックを行うこと。 ちなみにPICのSPI通信と互換性があるので割を簡単に通信できる。 参考: #ref(04.zip)