AVR Libc Home Page | AVR Libc Development Pages | ||||
Main Page | User Manual | Library Reference | FAQ | Alphabetical Index | Example Projects |
定義 | |
#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アクセスを要求するアプリケーションは、自分で実装しなければならないです。
#define __EEGET | ( | var, | |
addr | |||
) | (var) = eeprom_read_byte ((const uint8_t *)(addr)) |
EEPROMから1バイト読出し。IAR Cのための互換定義。
EEPROMへ1バイト書込み。IAR Cのための互換定義。
#define _EEGET | ( | var, | |
addr | |||
) | (var) = eeprom_read_byte ((const uint8_t *)(addr)) |
EEPROMから1バイト読出し。IAR Cのための互換定義。
EEPROMへ1バイト書込み。IAR Cのための互換定義。
#define EEMEM __attribute__((section(".eeprom"))) |
変数が .eeprom セクション内へ割り当てるようにする属性表記。
#define eeprom_busy_wait | ( | ) | do {} while (!eeprom_is_ready()) |
EEPROMが使用中でなくなるまでループ
#define eeprom_is_ready | ( | ) |
void eeprom_read_block | ( | void * | __dst, |
const void * | __src, | ||
size_t | __n | ||
) |
EEPROMアドレス __srcから、SRAM __dstへ__nバイトのブロックを読み出す。
EEPROMアドレス __p から32-bitダブルバイト(リトルエンディアン)で1つの読み出す。
float eeprom_read_float | ( | const float * | __p ) |
EEPROMアドレス __p からfloat(リトルエンディアン)で1つの読み出す。
void eeprom_update_block | ( | const void * | __src, |
void * | __dst, | ||
size_t | __n | ||
) |
__srcからEEPROMアドレス__dstへ__n byteのブロックを更新する。
EEPROMアドレス__pへ32-bit倍精度浮動小数(double)__valueを更新する。
void eeprom_update_float | ( | float * | __p, |
float | __value | ||
) |
EEPROMアドレス__pへ浮動小数(float)__valueを更新する。
void eeprom_write_block | ( | const void * | __src, |
void * | __dst, | ||
size_t | __n | ||
) |
__srcからEEPROMアドレス__dstへ__n byteのブロックを書き込む
EEPROMアドレス__pへ32-bit倍精度浮動小数(double)__valueを書き込む
void eeprom_write_float | ( | float * | __p, |
float | __value | ||
) |
EEPROMアドレス__pへ浮動小数(float)__valueを書き込む