Hi all, I am using pic24 and microchip c compiler and the problem I am having is wh= en I set the global variable to one as flag same variable in other module doesn't get set after restart the pic. right = after program it works but when I restart the board=A0 I can see it doesn't work. in main I have: volatile unsigned int zigbee_control_on=3D0; uart3 ISR module I have: extern unsigned int zigbee_control_on; =A0if (zigbee_control_on =3D=3D 1) =A0 =A0 { =A0 =A0 do the code: =A0 =A0 } uart4 ISR module I have: extern unsigned int zigbee_control_on; =A0if (zigbee_control_on =3D=3D 1) =A0 =A0 { =A0 =A0 do the code: =A0 =A0 } based on my testing UART3 variable "zigbee_control_on"=A0never gets set aft= er I restart the board. on debug mode it always works because restart means reload. my question is: 1. what's the different between program and restart the pic?=A0 2. my purpose of the variable is when it is set to logic 1 fallow if statem= ent. so far in 2 modules =A0the flag is used. at this moment I am unable to read the va= riable to=A0 understand what's happening. if I put a routine to read and send out when i= t doesn't work it is not sending anything. when I first program it will send correct info = because it works right after program. any idea? or suggestion ? thanks Andre =A0 --=20 http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .