Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Карбюратор не сосает....
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
a123-flex
Возникла потребность собрать маленький проектик в Иаре. последний раз писал в нем лет 5 назад, осталась с тех времен куча проектов. Взял один релиз, самый похожий на то что мне надо, стал его компилить, а иар и говорит:

Warning[w6]: Type conflict for external/entry "_A_UCSRA", in module uart1 against external/entry in module
main; class/struct/union field/base types do not match for field/base ''; class/struct/union field names do not
match: UCSRA_FE vs UCSRA_4
/* In module uart1: */
union /* Elements: 3, Bytes: 1 */
/* First seen in uart1 */
{
unsigned char UCSRA;
struct /* Elements: 8, Bytes: 1 */
/* First seen in main */
{
unsigned char UCSRA_Bit0 : 1 /* disp: 0 */;
unsigned char UCSRA_Bit1 : 1 /* disp: 1 */;
unsigned char UCSRA_Bit2 : 1 /* disp: 2 */;
unsigned char UCSRA_Bit3 : 1 /* disp: 3 */;
unsigned char UCSRA_Bit4 : 1 /* disp: 4 */;
unsigned char UCSRA_Bit5 : 1 /* disp: 5 */;
unsigned char UCSRA_Bit6 : 1 /* disp: 6 */;
unsigned char UCSRA_Bit7 : 1 /* disp: 7 */;
} ;
struct /* Elements: 8, Bytes: 1 */
/* First seen in uart1 */
{
unsigned char UCSRA_MPCM : 1 /* disp: 0 */;
unsigned char UCSRA_U2X : 1 /* disp: 1 */;
unsigned char UCSRA_PE : 1 /* disp: 2 */;
unsigned char UCSRA_DOR : 1 /* disp: 3 */;
unsigned char UCSRA_FE : 1 /* disp: 4 */;
unsigned char UCSRA_UDRE : 1 /* disp: 5 */;
unsigned char UCSRA_TXC : 1 /* disp: 6 */;
unsigned char UCSRA_RXC : 1 /* disp: 7 */;
} ;
} __io volatile _A_UCSRA;
/* In module main: */
union /* Elements: 3, Bytes: 1 */
/* First seen in main */
{
unsigned char UCSRA;
struct /* Elements: 8, Bytes: 1 */
/* First seen in main */
{
unsigned char UCSRA_Bit0 : 1 /* disp: 0 */;
unsigned char UCSRA_Bit1 : 1 /* disp: 1 */;
unsigned char UCSRA_Bit2 : 1 /* disp: 2 */;
unsigned char UCSRA_Bit3 : 1 /* disp: 3 */;
unsigned char UCSRA_Bit4 : 1 /* disp: 4 */;
unsigned char UCSRA_Bit5 : 1 /* disp: 5 */;
unsigned char UCSRA_Bit6 : 1 /* disp: 6 */;
unsigned char UCSRA_Bit7 : 1 /* disp: 7 */;
} ;
struct /* Elements: 8, Bytes: 1 */
/* First seen in main */
{
unsigned char UCSRA_MPCM : 1 /* disp: 0 */;
unsigned char UCSRA_U2X : 1 /* disp: 1 */;
unsigned char UCSRA_PE : 1 /* disp: 2 */;
unsigned char UCSRA_DOR : 1 /* disp: 3 */;
unsigned char UCSRA_4 : 1 /* disp: 4 */;
unsigned char UCSRA_5 : 1 /* disp: 5 */;
unsigned char UCSRA_TXC : 1 /* disp: 6 */;
unsigned char UCSRA_7 : 1 /* disp: 7 */;
} ;
} __io volatile _A_UCSRA;

я как бы понимаю, что ето значит несовпадение типов при определении битовых полей в SFR регистрах, но если честно не понимаю как с етим бороться. Последний раз когда все работало, версия была то ли v5.11, то ли 4.30. Поможите чем можете господа.
fmdost
Поставь птицу там где красный кружочек.
a123-flex
Цитата(Т.Достоевский @ May 21 2010, 00:16) *
Поставь птицу там где красный кружочек.


Спасибо. Разобрался сам, просто прописал корректно хидер кристалла в проекте, а также описал все функции, которые вызывались из другого исходника как extern.
Но Ваш способ тоже пригодился.
Спас меня от другой проблемы:

http://electronix.ru/forum/index.php?showt...mp;#entry761796
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.