|
Есть программа, в нескольких файлах. Работаю с внешней ОЗУ на ATMEGA128
В файле "а.с"
#pragma memory=__near
SMBStruct SMB_struct;
DeviceStruct Device_struct;
SMBStruct *SMBData=&SMB_struct;
DeviceStruct *Device=&Device_struct;
#pragma memory=default
void Init_SMBData(void)
{ SMBData->Status= 0;
SMBData->Pult=255;
SMBData->nVL= 255;
SMBData->Data[0]= 0;
SMBData->Data[1]= 0;
SMBData->Data[2]= 0;
}
void Init_Device(void)
{ Device->Query=0;
Device->Status=0;
Device->Length= 0;
Device->Count=0;
Device->ptrData= (unsigned char *)0x0000;
}
В файле "b.c"
void main(void)
{ Init_SMBData();
Init_Device();
}
Проблема: потом вывожу на UART значения элементов структур и вижу, что они не верно проинициализированы. ОЗУ 100% рабочая. В чем дело, не могу допетрить...(Я просто выдернул часть когда, программа огромная и все замечательно работает, но вот эта струкутра, ну ни в какую не хочет инициализироваться верно)
E-mail: info@telesys.ru