Код: Выделить всё
b = eeprom_read_byte(&array[5]);весь массив сразу или часть его можно считать функцией eeprom_read_block.kelod писал(а):не понимаю ничего, есть массив в еепроме, как мне из него элемент вытянуть? для простых переменных делаю така как туже процедуру сделать, только для массива не понятноКод: Выделить всё
int EEMEM b=123; int main(void) { int b; b = eeprom_read_byte(&b); }
это мне? если да, то я и не брал адрес массива, я взял адрес элемента массива)Pink-Pank писал(а):в данном случае адрес массива брать не надо.
Код: Выделить всё
b = eeprom_read_byte(&array[5]);
b = eeprom_read_byte(array+5);объясните как она работает?Apparatchik писал(а):его можно считать функцией eeprom_read_block.
Точняк.. Сам запутался. ))это мне?..я взял адрес элемента..
kelod писал(а): объясните как она работает?
eeprom_read_block()Параметры:Код: Выделить всё
void eeprom_read_block (void *dst, const void *src, size_t n)
void *dst – указатель на начало области в ОЗУ
const void *src – указатель на начало области EEPROM
size_t n – количество байт
Возвращаемое значение: нет.
Описание: функция выполняет считывание n байтов из EEPROM по адресу src и размещает их в ОЗУ, начиная с адреса dest.
Код: Выделить всё
char mas[13];
EEMEM char mas_eeprom[13] = {...};
eeprom_read_block(mas, mas_eeprom, 13);
Код: Выделить всё
for (int8_t i=otr_spis;i<otr_spis_1;i++)
{
unsigned char buffer1[40];
uint32_t t[13];
eeprom_read_block(t,t_og_r,sizeof(t));
utoa(t[i], buffer1, 10);
LcdStr(FONT_1X,buffer1);
}
твердо утверждать не стану, на там вроде такого нетWiseLord писал(а):А что в прогах видел - возможно, там было что-то вроде #define bool char
Код: Выделить всё
const void(*mnu_func_ptr[11])() ={ // menu functions pointer
&menu_main, &menu_time, &menu_date, ... };Код: Выделить всё
(mnu_func_ptr[device_sm-DEV_STA_MNU_MAIN])(); // indirect callКод: Выделить всё
__flash uint16_t func_adress[]={ &menu_main, &menu_date, ... }