工作工房

工作工房

2014年04月13日
XML
カテゴリ: カテゴリ未分類
PSOC3 EEPROM.jpg


void eeprom_test(void)
{
uint8 dat[16];
uint16 c;
uint8 d;
device_memory[128];

 //EEPROM Write(0は列0~15書き込み指定)
 CYGlobalIntDisable //CPU ALL Interrupt Disable

 CYGlobalIntEnable; //CPU Interrupt ALL Enable

 //例
 CYGlobalIntDisable //CPU ALL Interrupt Disable
 d = EEPROM_1_Write(dat,1); //EEPROM write (16byte write)(1 = 列15-31 write)
 d = EEPROM_1_Write(dat,2); //EEPROM write (16byte write)(2 = 列32-47 write)
 d = EEPROM_1_Write(dat,3); //EEPROM write (16byte write)(3 = 列48-63 write)
 CYGlobalIntEnable; //CPU Interrupt ALL Enable
 注意:書き込み時割り込み禁止にする。



 //EEPROM Read(列0~127読み出し)
 for(c = 0; c < 128; c++){
  device_memory[c] = CY_GET_REG8(CYDEV_EE_BASE + c); //EEPROM read

 //例 EEPROM Read(列128~255読み出し)
 for(c = 0; c < 128; c++){
  device_memory[c] = CY_GET_REG8(CYDEV_EE_BASE + 128 + c); //EEPROM read
 }
 注意:読み出しは1バイトでもOK。


//1バイト書き込みの方法
void eeprom_one_write(uint8 row,uint8 nob,uint8 d) //EEPROM one data write
{
uint8 c;
uint8 s;
uint8 dat[16];

 //EEPROM data read
 for(c = 0; c < 16; c++){
  dat[c] = CY_GET_REG8(CYDEV_EE_BASE + (row * 16) + c); //EEPROM data read
 }
 dat[nob] = d;
 //EEPROM data write
 s = EEPROM_1_Write(dat,row); //EEPROM data write
 説明:row=列番号(16バイト単位)、nob=何番目、d=data)
 1バイト書き込みは16バイト読み出し後、そのデータを変更して書き込みます。

}





お気に入りの記事を「いいね!」で応援しよう

最終更新日  2014年04月13日 10時08分10秒
コメントを書く


■コメント

お名前
タイトル
メッセージ
画像認証
上の画像で表示されている数字を入力して下さい。


利用規約 に同意してコメントを
※コメントに関するよくある質問は、 こちら をご確認ください。


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
Design a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: