できた。結局4パルスの間隔を計測→バイナリデータを10進数に変換→RS232Cで送信という手順にした。
計測にはTMR1でプリスケーラ8に設定しているので65535x8=524280カウントまで可能になっている。
1200RPM時で20Hzなので4パルスだと4/20秒、つまり200msec間隔となる。4MHzの内蔵クロックで
動作させているので1サイクル1usecだから524msecまでオーバーフローしないから、Vmaxの回転数で
オーバーフローすることは無いが、念のためエンジン始動後に電源を入れられるようにするべきかもしれない。
また、実験の結果2000あたり(つまり16msec)でシリアル転送が追いつかなくなりデータが途絶えた。
4パルスの間隔が16msecになるのは15000rpmなので、そこまで回らないエンジンだから大丈夫だ。
もし汎用性をあげるならCCPのキャプチャを16パルス間隔に設定すれば60000rpmまでOKとなるが
まあそこまで回るエンジンも無いし、意味無いかもしれない。
転送するデータは改行(LF)で区切るようにした。
問題はやはりPalmにデータを転送しただけではPlamのDocuments-to-goがテキストデータを読み込めないので
結局データ収集ボックスとしてしか機能しないことだ。つまり実際に出先でパワー計測しながらセッティングを
煮詰めるときにはリュックなりにノートPCを背負って行かねばならないということになる。
まあ高速のSAでおもむろにPCを取り出してデータを解析して、ジェッティングをいじるというのも
話題性はあるかもしれないが。
走行時にPCを起動させておかなくてもいいという意味ではPalmやザウルスでデータを回収する意味はあるだろう。
最終的なプログラムは以下の通り