My program is like this, I use TimerA0_ISR to count every second, every 5 minutes will start VDD2X for 30 seconds and then turn off VDD2X. While VDD2X outputs 3V for 30 seconds I will read the ADC value at the 10th second.
But the program will crash after running for a period of time. After I debug with CCS, I found that the return address of the program has been changed to 0x3FFE, so the program cannot return to the normal execution program after the execution of TimerA0_ISR.
I would like to ask why the return address becomes 0x3FFE, and what are the possible reasons for the return address to be changed?
Does the stability of the VDDSW voltage affect the return address? ??
Does 0x3FFE have any special meaning in memory locations?