■SPI/I2Cプロトコルエミュレーター (ハイグレードモデル) REX-USB61mk2 |
Device Control Utility スクリプト例結線図 本製品(REX-USB61mk2)を使用し、SEIKO EPSON製リアルタイムクロックモジュールRTC-8564NBとI2C通信をおこないます。スクリプト実行画面 クロックモジュールに現在の日時とアラームの時刻を設定。アラームの時刻になったら、割り込み処理でウィンドウ上にメッセージを表示します。スクリプト #################################################### # REX-USB61mk2 USB-SPI/I2C Converter # Device Control Utility スクリプトデモストレーション Rev1.0 # # SEIKO EPSON製 RTC-8564NB I2C制御スクリプト # # Copyright (C) 2015 RATOC Systems,Inc. ################################################### # Converterモードを設定
MODE=I2C
# I2Cモード
# I2Cの周波数設定
FREQUENCY=400
# 周波数を400KHzに設定
# デバイス電源供給設定
POWER=ON3
WAIT=10 # 外部電源出力3.3V
# 電源安定時間待ち(1秒) # I2C信号線のプルアップ制御
PULLUP=ON
# SCL、SDAラインプルアップ
# デバイスアドレスモード設定&デバイスアドレス設定
ADDRESSMODE=7
ADDRESS=51h # アドレスモード7ビット
# スレーブアドレス50h # スタート時にダイアログメッセージを表示します
SET R0=0
MSGOK "RTC-8564NBに時刻を設定します。",R0 # 日付及び時刻の設定を行います 2015年1月19日 15時36分00秒 とします
WRITE 00h
WRITE 20h WRITE 00h WRITE 00h, 36h, 15h WRITE 19h, 01h, 01h, 15h # コントロールレジスタ1を指定する
# 〃 1 時計を停止する # 〃 2 割り込みイベントを停止する # 時計カウンター 秒、分、時をセットする # カレンダー 日、曜日、月、年をセットする # アラームの時刻の設定を行います アラームは19日15時37分00秒 とします
WRITE 37h,15h,19h,01h
STOP # アラームレジスタ 分、時、日、曜日をセットする
# アラーム割り込みを検出するDIOの設定を行います
# アラーム用割り込み端子はDIOポートの0とする DIODIR=00h
DIOINT=01h,03h # DIO端子をすべて入力にします
# DIOポート0を割込検出可能としHigh→Low変化で有効とする # アラーム割り込みを有効にします
WRITE_AND_STOP 00h, 00h, 02h
# コントロールレジスタ0のSTOPビットに0を設定し時計を開始
# 〃 1のAIEビットに1を設定し割り込み信号を許可する # 時を刻んでいるか1秒毎に3回読み出し確認する
REPEAT 3
{ WRITE 02h READ_AND_STOP 7 WAIT= 10 } # アラーム割り込みを待ちます
WAITINT=60000,R0
# アラーム割り込みが発生するまで待つ(60秒のタイムアウト)
# アラーム割り込みが発生したらダイアログメッセージを表示します
MSGOK "アラームが発生しました。",R0
# メッセージ表示(R0レジスタの値も表示)
# デバイス電源供給設定
POWER=OFF
# 外部電源出力0V
END |