Пытаюсь в IAR 5.x скомпилить свои старые проекты. Все хорошо, ругается только на одну строчку:
while(!(SPSR & (1 << SPIF ))); // wait for data transfer to be completed
IAR грит Error[Pe020]: identifier "SPIF" is undefined C:\My\My_work\Svar\Soft\Brd\ADC\dataflash.c 9
Собираю проект для меги 16. Хидер меги подключен #include <iom16.h>
в хидере регистр SPSR описан как
SFR_B_N(0x0E,SPSR,SPIF,WCOL,Dummy5,Dummy4,Dummy3,Dummy2,Dummy1,SPI2X)
сижу пытаюсь понять что я сделал не так. В еще 30 местах проекта такой же способ использования битового поля ошибки не дает...
Цитата(a123-flex @ May 22 2010, 12:14)

Пытаюсь в IAR 5.x скомпилить свои старые проекты. Все хорошо, ругается только на одну строчку:
while(!(SPSR & (1 << SPIF ))); // wait for data transfer to be completed
IAR грит Error[Pe020]: identifier "SPIF" is undefined C:\My\My_work\Svar\Soft\Brd\ADC\dataflash.c 9
Собираю проект для меги 16. Хидер меги подключен #include <iom16.h>
в хидере регистр SPSR описан как
SFR_B_N(0x0E,SPSR,SPIF,WCOL,Dummy5,Dummy4,Dummy3,Dummy2,Dummy1,SPI2X)
сижу пытаюсь понять что я сделал не так. В еще 30 местах проекта такой же способ использования битового поля ошибки не дает...
чертовски интересно. нашел ответ на свой прошлый вопрос.
http://electronix.ru/forum/index.php?showt...mp;#entry761798оказывается у меня в проекте была отключена галка Enable definitions in IO include files.
однако при подключении инклюдов ручками типа #include <iom16.h> все остальные определения регистров работали. Стоило поставить галку - IAR на SPIF ругаться перестал.
Оспода, Ваши версии.
Если хочешь узнать, что ждет тебя на дороге впереди, спроси у тех, кто возвращается по ней.