AVR Libc Home Page AVRs AVR Libc Development Pages
Main Page User Manual Library Reference FAQ Alphabetical Index Example Projects

定義 | 関数

<avr/eeprom.h>: EEPROM 操作

定義

#define EEMEM   __attribute__((section(".eeprom")))
#define eeprom_is_ready()
#define eeprom_busy_wait()   do {} while (!eeprom_is_ready())

関数

uint8_t eeprom_read_byte (const uint8_t *__p) __ATTR_PURE__
uint16_t eeprom_read_word (const uint16_t *__p) __ATTR_PURE__
uint32_t eeprom_read_dword (const uint32_t *__p) __ATTR_PURE__
float eeprom_read_float (const float *__p) __ATTR_PURE__
void eeprom_read_block (void *__dst, const void *__src, size_t __n)
void eeprom_write_byte (uint8_t *__p, uint8_t __value)
void eeprom_write_word (uint16_t *__p, uint16_t __value)
void eeprom_write_dword (uint32_t *__p, uint32_t __value)
void eeprom_write_float (float *__p, float __value)
void eeprom_write_block (const void *__src, void *__dst, size_t __n)
void eeprom_update_byte (uint8_t *__p, uint8_t __value)
void eeprom_update_word (uint16_t *__p, uint16_t __value)
void eeprom_update_dword (uint32_t *__p, uint32_t __value)
void eeprom_update_float (float *__p, float __value)
void eeprom_update_block (const void *__src, void *__dst, size_t __n)

IAR C 互換定義

#define _EEPUT(addr, val)   eeprom_write_byte ((uint8_t *)(addr), (uint8_t)(val))
#define __EEPUT(addr, val)   eeprom_write_byte ((uint8_t *)(addr), (uint8_t)(val))
#define _EEGET(var, addr)   (var) = eeprom_read_byte ((const uint8_t *)(addr))
#define __EEGET(var, addr)   (var) = eeprom_read_byte ((const uint8_t *)(addr))

詳しい説明

 #include <avr/eeprom.h> 

このヘッダファイルは、AVRマイコン内にEEPROMを含むデータの取り扱いに適した簡単なライブラリルーチンのインタフェースを宣言しています。この実装は、単純な待機モード(ポーリングモード)インタフェースを使用しています。時間がスピンループで無駄にならないよう、割込み制御されたEEPROMアクセスを要求するアプリケーションは、自分で実装しなければならないです。

Notes:

定義ドキュメント

#define __EEGET (   var,
  addr 
)    (var) = eeprom_read_byte ((const uint8_t *)(addr))

EEPROMから1バイト読出し。IAR Cのための互換定義。

#define __EEPUT (   addr,
  val 
)    eeprom_write_byte ((uint8_t *)(addr), (uint8_t)(val))

EEPROMへ1バイト書込み。IAR Cのための互換定義。

#define _EEGET (   var,
  addr 
)    (var) = eeprom_read_byte ((const uint8_t *)(addr))

EEPROMから1バイト読出し。IAR Cのための互換定義。

#define _EEPUT (   addr,
  val 
)    eeprom_write_byte ((uint8_t *)(addr), (uint8_t)(val))

EEPROMへ1バイト書込み。IAR Cのための互換定義。

#define EEMEM   __attribute__((section(".eeprom")))

変数が .eeprom セクション内へ割り当てるようにする属性表記。

#define eeprom_busy_wait (  )    do {} while (!eeprom_is_ready())

EEPROMが使用中でなくなるまでループ

返値:
なし
#define eeprom_is_ready (  )
返値:
1は、EEPROMが新しく読み書き操作の準備ができている。0は、そうでない。

関数ドキュメント

void eeprom_read_block ( void *  __dst,
const void *  __src,
size_t  __n 
)

EEPROMアドレス __srcから、SRAM __dst__nバイトのブロックを読み出す。

uint8_t eeprom_read_byte ( const uint8_t __p )

EEPROMアドレス __p から1バイト読み出す。

uint32_t eeprom_read_dword ( const uint32_t __p )

EEPROMアドレス __p から32-bitダブルバイト(リトルエンディアン)で1つの読み出す。

float eeprom_read_float ( const float *  __p )

EEPROMアドレス __p からfloat(リトルエンディアン)で1つの読み出す。

uint16_t eeprom_read_word ( const uint16_t __p )

EEPROMアドレス __p から16-bit ワード(リトルエンディアン)で1つの読み出す。

void eeprom_update_block ( const void *  __src,
void *  __dst,
size_t  __n 
)

__srcからEEPROMアドレス__dst__n byteのブロックを更新する。

注釈:
引数順序が、strcpy()のような共通関数と異なっています。
void eeprom_update_byte ( uint8_t __p,
uint8_t  __value 
)

EEPROMアドレス__pへバイト(byte)__valueを更新する。

void eeprom_update_dword ( uint32_t __p,
uint32_t  __value 
)

EEPROMアドレス__pへ32-bit倍精度浮動小数(double)__valueを更新する。

void eeprom_update_float ( float *  __p,
float  __value 
)

EEPROMアドレス__pへ浮動小数(float)__valueを更新する。

void eeprom_update_word ( uint16_t __p,
uint16_t  __value 
)

EEPROMアドレス__pへワード(word)__valueを更新する。

void eeprom_write_block ( const void *  __src,
void *  __dst,
size_t  __n 
)

__srcからEEPROMアドレス__dst__n byteのブロックを書き込む

注釈:
引数順序が、strcpy()のような共通関数と異なっています。
void eeprom_write_byte ( uint8_t __p,
uint8_t  __value 
)

EEPROMアドレス__pへバイト(byte)__valueを書き込む

void eeprom_write_dword ( uint32_t __p,
uint32_t  __value 
)

EEPROMアドレス__pへ32-bit倍精度浮動小数(double)__valueを書き込む

void eeprom_write_float ( float *  __p,
float  __value 
)

EEPROMアドレス__pへ浮動小数(float)__valueを書き込む

void eeprom_write_word ( uint16_t __p,
uint16_t  __value 
)

EEPROMアドレス__pへワード(word)__valueを書き込む


Automatically generated by Doxygen 1.7.2 on Wed Feb 16 2011.

翻訳更新:2012年 4月19日 by cega