Обсуждаем контроллеры компании Atmel.
Ответить

Что за макрос? (AVR GCC)

Пт ноя 03, 2006 16:34:38

Вобщем есть проект, а в нем не хочет компилироваться макрос PRG_RDB(), гцц говорит что незнает его. Но вроде как он стандартный, поэтому два вопроса, во-первых что он значит, и во-вторых чем его заменить или как сделать чтоб гцц не ругался

Пт ноя 03, 2006 17:54:52

Все используемые при работе c avr-gcc макросы/функции описаны в avr-libc, http://www.nongnu.org/avr-libc/ , к документации по которому и следует в таких случаях оьращаться. Данный макрос, ( и ещё несколько http://www.nongnu.org/avr-libc/changes-1.2.html) исчезли из avr-libc, начиная с версии 1.2 . Так что надо поискать тут: http://www.nongnu.org/avr-libc/user-manual/modules.html , как это выполнено в новых версиях =)

Пт ноя 03, 2006 18:11:23

че то нифига немогу найти :cry:

Пт ноя 03, 2006 18:34:15

Попробуйте PRG_RDB(addr) заменить на pgm_read_byte(addr) :)
ЗЫ А ещё можно поставить древнюю версию avr-libc 1,0,5 и с ней скомпилить, хотя уже тогда это злосчастный маскрос считался устаревшим, так что лучше всё-таки внести вышеописанное изменение в программу :))

Пт ноя 03, 2006 19:55:56

спасибо, работает :))
Ответить