u16 PLC_16BIT[];
u16 *p_value;
p_value = PLC_16BIT+0x0800;
*p_value == PLC_16BIT[0x0800] ? или *p_value == PLC_16BIT[0x0400] ?
"-Ну вы блин, даете" (С)зачем новый проект? если открылся и скомпилировался - значит рабочий, нет - значит фуфло
Поправил наобум - в отладчике висит в хардфаулт , чего и следовало ожидать...src\PLC_Com.c(155): warning: #175-D: subscript out of range
PLC_16BIT[0X2000]=PLC_ROM[prog_address]; //Byte high
src\PLC_Com.c(156): warning: #175-D: subscript out of range
PLC_16BIT[0X2000]*=256; //
src\PLC_Com.c(157): warning: #175-D: subscript out of range
PLC_16BIT[0X2000]|=PLC_ROM[prog_address+1]; //Byte low
src\PLC_Com.c: 3 warnings, 0 errors
Код: Выделить всё
// PLC_16BIT[0X2000]=PLC_ROM[prog_address]; //Byte high
// PLC_16BIT[0X2000]*=256; //
// PLC_16BIT[0X2000]|=PLC_ROM[prog_address+1]; //Byte low
PLC_16BIT[0X1001]=PLC_ROM[prog_address]; //Byte high
PLC_16BIT[0X1001]*=256; //
PLC_16BIT[0X1001]|=PLC_ROM[prog_address+1]; //Byte low