Возникла потребность собрать маленький проектик в Иаре. последний раз писал в нем лет 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. Поможите чем можете господа.