H8/3664Nの内蔵EEPROMを使う
        by I.N.   2007/8/27
1.はじめに
 CPUボードH8/3664N + YellowIDE で内蔵EEPROMを使うプログラムを作成する
ための関数ライブラリです.

 日立から出ているサンプルプログラムほとんどそのままですが,
YellowIDEに付属のヘッダファイル(H83664.H)と定義名が重ならないようにしました.

 動作確認は AKI-H8/3664N + YellowIDE 6.47 で行いました.

2.使用方法と注意事項

2.1 使用方法
 プログラムの先頭で以下のようにインクルードするだけです.
 #include <h8_3664n_eeprom.h>

 また,YellowIDEのプロジェクトの設定(YCオプション)で
  /p メンバを境界を考慮して可能な限り詰めて配置する
  /b ビットフィールドを上位ビットから割り付ける
 にチェックを入れておいてください.

2.2 注意事項
 書き込み関数の後に読み込み関数が来る場合,10ms以上の間隔を空けて読み込み関数が
実行されるようにプログラムを作成してください.
 例:
 Write_byte_EEPROM(0,100);
 // ここに10ms以上のウェイトが必要
 d=Read_byte_EEPROM(0);

2.3 その他
 CPUのポートSDA(P56),SCL(P57)は外部プルアップしておく必要があります.
 PCR56,PCR57は0にしておく必要があります.
   例: PCR5=0x00; //ポート5(bit5..0)を入力に設定
 P56,P57は0にしておく必要があります.
   例: PDR5=0;   //ポート5データ初期化


3.関数リファレンス

・書き込み
---------------------------------------------------------------------------
unsigned char Write_byte_EEPROM(unsigned short adrs, unsigned char wr_data);
---------------------------------------------------------------------------
説明
 バイト単位で書き込みます.
引数
 adrs:EEPROMのアドレス [0〜511]
 wr_data:書き込む値 [0〜255]
戻り値
 1 正常終了
 0 エラー
使用例
 Write_byte_EEPROM(5, 123);


---------------------------------------------------------------------------
unsigned char Write_page_EEPROM(unsigned short adrs ,unsigned char *wr_ptr);
---------------------------------------------------------------------------
説明
 ページ(8バイト)単位で書き込みます.
引数
 adrs:EEPROMの先頭アドレス [0〜504]
 wr_ptr:データ領域の先頭アドレス(ポインタ)
     (wr_ptrから連続する8バイトのデータがEEPROMへ書き込まれます.)
戻り値
 1 正常終了
 0 エラー
使用例
 unsigned char d[8];
 Write_page_EEPROM(0, d);


・読み出し
---------------------------------------------------------------------------
unsigned char Read_byte_EEPROM(unsigned short adrs);
---------------------------------------------------------------------------
説明
 バイト単位で読み出します.
引数
 adrs:EEPROMのアドレス [0〜511]
戻り値
 読み出された値を返します.
使用例
 unsigned char c;
 c=Read_byte_EEPROM(30);


---------------------------------------------------------------------------
unsigned char Read_page_EEPROM(unsigned short adrs, unsigned char *rd_ptr);
---------------------------------------------------------------------------
説明
 ページ(8バイト)単位で読み出します.
引数
 adrs:EEPROMの先頭アドレス [0〜504]
 rd_ptr:データ格納先アドレス(ポインタ)
     (rd_ptrから連続する8バイトの領域にデータが格納されます)
戻り値
 1 正常終了
 0 エラー
使用例
 unsigned char d[8];
 Read_page_EEPROM(0, d);


-----------------------------------------------------------------------------------------
unsigned char Read_n_EEPROM(unsigned short adrs, unsigned char *rd_ptr, unsigned short no);
-----------------------------------------------------------------------------------------
説明
 指定されたバイト数を読み込みます.
引数
 adrs:EEPROMの先頭アドレス
 rd_ptr:データ格納先アドレス(ポインタ)
     (rd_ptrから連続するnoバイトの領域にデータが格納されます)
 no:データ数(バイト)[1〜512]
戻り値
 1 正常終了
 0 エラー
使用例
 unsigned char d[32];
 Read_n_EEPROM(16, d, 32);


以上


ダウンロード

 h8_3664n_eeprom.h ファイル h8_3664n_eeprom.h がZIP圧縮してあります.


1つ上へ戻る