PIC16F1455で作るCDIを8MHzで動作させるか16MHzで動作させるか、めっさ悩んで1日が終わった感じ。
くだらない事で本当に悩む。
ほんのちょっとの妥協、それだけで開発は倍以上のスピードで進むはずなんですが、、、。
8Mhzだろうと、16MHzだろうと、正直言って殆ど差はありませんしね。

iPhone 001

ですよね〜・・・

このCDIの開発は旧MPLABを使っています。
なんせ使い慣れてますし。

前回はPIC12F683というやや古いPICマイコンを使いましたが、今回は新型のミッドレンジコアを使ったPIC16Fなのですが、683との大きな違いは割り込みの速度がめっさ早くなっている事。
マニュアルによると3〜4システムクロック程。

一応PCエミュレータで試してみようと思って、久々にStimulusを起動してみた。
ところが、RA4のポートに仕掛けたIOC(状態変化割り込み) が全く動かない。
うーん、なぜだなぜだ、、、と悩んで試しにデバイスをPIC12F1822にして試したところ動作する。
色々と試した後にマニュアル読みました。最初から読めよちゅー話ですが。

MPLABR IDE User’s Guide(http://ww1.microchip.com/downloads/en/DeviceDoc/51519a.pdf)
12.3.2.2 14-BIT CORE INTERRUPTS
The following interrupts are supported:
Timer0 overflow
Timer1 overflow
Timer2
CCP1
CCP2

Change on Port RB <7:4>
External interrupt from RB0/INT pin
Comparators
A/D complete
EEPROM write complete


おいおいおい、「Change on Port RB <7:4>」ってなんやねん、、、
PIC16F1455にPORT Bなんてないんやで、、、

割り込みはPIC12F1822で試しました。
おかげで旧CDIを683版から1822版にリバイズできましたとさ。 


次に実機で割り込みタイミングを確認する為にパルス発生器を構築。
今回はUSB電源で動作させる為に、CDIから直接5Vを取る仕様にしました。
作ったのはこんなの。
iPhone 005

ようやくではございますが、なんとなく試験環境が整いつつあります。
iPhone 004



最近バクチの方はまたこれ調子がいいです。
iPhone 003