CPUを16F1823から、16F18325に変更するため、プログラム変更中。
多少の変更で済むと考えていましたが、 16F18325では、I/Oピン設定が大幅に変更されており、かなり面倒(設定方法を理解するのが大変)でした。
資料もわかりにくいです。ピンの設定で、RxyPPSというのがあったり、機能の設定で、xxxPPSがあったり、両方設定する必要があるのか、とか。。。microchipの資料もまちがっているような、、、という不安もあります。
基本的なLED点滅やタイマ、CPUクロックは動くようになりました。
主機能である、バックアップ、リストアは動きません。怪しい箇所は、
- バッファ処理:メモリアクセスの設定変更漏れの可能性
- RXデータ文字化け:転送レートミスによる、文字化け
を推測。
バッファ処理を確認するため、デバッグモードでの実行が必須です。統合環境ですぐにデバッグモードが実行できたので、試したところ、動いているみたい。なんか怪しい動きもしてるので、後々、不安定な動きを発生するかも。
次に、受信データのチェック。QY20から連続でデータが送られてくるので、デバッグモードでは確認できません。TX送信して、PCで表示させるしかありません。信号をフックして、RS232Cに落とすのがちょっと面倒です。
ソフトは、もともとデバッグ用に組み込んでいたTXデータ送信するコードを使って、表示。
文字化けしているように見えましたが、TXで転送レートを変えたので、文字化けは当然でした。一旦、EEPROMに書き込んだデータをTXに送信するように変更。
で、気づきました。
I2Cエラーを起こしている。
I2Cのピン設定が必要でした。PICの設定、どんどん複雑化していますね。
これじゃ、PC16系も入門用にならないのでは???と思います。
続く。。。