This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

RSIR LPC2364/66/68

On powerup I want to read the cause of starting with the following code:

  printf("\n\rPowerup Source [%04X]: ",RSIR);
  if(RSIR&(1<<0)) {printf("POR ");  RSIR|(1<<0);}
  if(RSIR&(1<<1)) {printf("EXTR "); RSIR|(1<<1);}
  if(RSIR&(1<<2)) {printf("WDTR "); RSIR|(1<<2);}
  if(RSIR&(1<<3)) {printf("BODR "); RSIR|(1<<3);}


and get the following as output:
Powerup Source [000B]: POR EXTR BODR

It remains the same on PowerOff/On or Reset.
What's wrong with it?
Peter

Parents
  • I have tried your code on MCB2300 with LPC2378 and it works as expected.

    After Power-on Reset the value of RSIR = 0x03 and the register is cleared when writing 0x0F into it. Also after asserting External Reset the value in RSIR = 0x02 which is also correct.

    It seems that on your HW the BODR bit is set (Brown-out detection). Maybe you have some problems with the power supply.

Reply
  • I have tried your code on MCB2300 with LPC2378 and it works as expected.

    After Power-on Reset the value of RSIR = 0x03 and the register is cleared when writing 0x0F into it. Also after asserting External Reset the value in RSIR = 0x02 which is also correct.

    It seems that on your HW the BODR bit is set (Brown-out detection). Maybe you have some problems with the power supply.

Children