Перейти к содержанию
    

Чего ругается WinAVR?

Помогите понять, что не так.

Использую сишную функцию чтения из EEPROM:

 

a0 = eeprom_read_word(eeprom_A0);

 

В качестве аргумента использовал переменную, константу, число. В любом случае, кроме нуля выдается предупреждение:

 

../ILT-01.c:108: warning: passing arg 1 of `eeprom_read_byte' makes pointer from integer without a cast

 

Слова знакомые, а смысл не доходит.

Программа тем не менее работает как надо, но warning задолбал :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В качестве аргумента использовал переменную, константу, число. В любом случае, кроме нуля выдается предупреждение:

../ILT-01.c:108: warning: passing arg 1 of `eeprom_read_byte' makes pointer from integer without a cast

Ну, а что же Вы хотели? Вот как эта функция описана в eeprom.h
/** \ingroup avr_eeprom

Read one 16-bit word (little endian) from EEPROM address \c addr. */

extern uint16_t eeprom_read_word (const uint16_t *addr);

т.е. аргументом должен быть указатель. Я сам с WinAVR не работаю, но, если программа работает правильно, то (imho) в вызове функции необходимо привести константу к нужному типу (см. выше) для того, чтобы не было предупреждения.

P.S. В файле eeprom.h есть

#define eeprom_rw(addr) eeprom_read_word ((uint16_t *)(addr))

 

т.е. если использовать eeprom_rw вместо eeprom_read_word, то и предупреждение вроде как должно исчезнуть

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...