|
RTC(秋月で購入)はI2Cで、日時の書き込み読み出しをしている。 BASIC言語に、I2C系の制御インストラクションを追加しました。 portON( n), portOFF( n) nは0から7までの変数で、bit0 からbit7までのリレーON/OFF出力制御 portON(ALL), portOFF(ALL) で bit0 からbit7まで全てのリレーON/OFF出力制御出力制御 端末は16F877Aを使用、I2Cの書き込み読み出しを割り込み処理にて i2c_poll()を使って処理する。 いずれ、端末機器として キースイッチ、AD等追加し、何か 物を動かすとか したいので、 I2Cでマルチバイトの書き込み読み出しをすると、動作が、おかしい。 割り込み時、マスタからのアドレス、データ、書き込み、読み出しの状態が区別できていない? CCSのフォーラムで調べると、i2c_isr_state()で I2Cの割り込んでいる状態が調べられる事か判った。 早速 追加した所 "Undefined identifier i2c_isr_state" で コンパイラー エラー 僕のCCSコンパイラ、バージョンが古い為、この関数組み込まれていない。 新たに コンパイラを購入しろと・・言うことか! 再度 CCSのフォーラムを追っかけたら、有ったね。 my_i2c_isr_state()として、等価と言われるソフトがポストされていた。 my_i2c_isr_state()を追加し、複数データバイトのアクセスをしたところ 動いている 問題なさそう。
CCSコンパイラの古いバージョンで、我慢している人(物を大切にする人・・・偉い!)は、 参考にして、試して下されば 幸いです。 |

- >
- コンピュータとインターネット
- >
- コンピュータ
- >
- パソコン




