I declare these variables: unsigned long idata xpaquetes,xbytes; unsigned long errors,PHY,CRC; I ran my progran and after 3 minutes the errors,PHY and CRC variables change to 0xaaaaaaaaaaaaaaaa but the xpaquetes and xbytes still have the right value? I think something is wrong during compilation because my program started counting and updating these variables but after few minutes these variables are unstable what can I do? I put now : unsigned long xdata errors,PHY,CRC; but I got the same error please give me suggestions