This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS/TM4C123GH6PM: Disabling BrownOut TM4C123GH6PM

Part Number: TM4C123GH6PM

Tool/software: Code Composer Studio

Hi, I don't want the brownout to cause a reset and the only way i found in the datasheet is clearing PBORCTL bits BOR0 and BOR1 to cause an interrupt instead of  a reset.

I tried with  HWREG(SYSCTL_PBORCTL_R) &= ~0x00000006; and SysCtlVoltageEventConfig(SYSCTL_VEVENT_VDDBO_NONE); but the register value is not changing
                       

  • May this 'outsider' present an alternative - which it is hoped - you will find useful?     (I'm unable to answer your question directly - minus a 'deep-dive' into the MCU manual - followed by confirming MCU tests.)

    It is noted that your objective is to, 'Cause a Brown-Out Induced 'Interrupt' rather than 'Reset.'

    Is that procedure not 'Risky' - note that (EVEN) the 'MCU Vendor believes that 'Brown-Out warrants Reset!'   (at least sometimes)    And the determination of  'When that Reset is required' may prove difficult.

    It is suspected that your desire for "Brown-Out generated Interrupts (only)" is based upon:

    • your 'Need for Speed' - and your sense that a (near) full reset proves too time-consuming and/or otherwise disruptive
    • you suspect that you can (somehow) 'test for & detect' MCU disturbances - and allow for or correct them - w/out the reset

    If your objective is 'other than those identified' - kindly note that.

    Our Tech firm prefers to, 'Detect the Earliest Onset of such 'Power Disturbances' (i.e. far closer to the input power source & well prior to any Supply DIP reaching the MCU.)    Such 'early/enhanced detection' allows the MCU 'increased time' to, 'Properly Prepare for the 'potential LOSS of Power!'    And - w/this extra time enabling 'more data to be saved' - it may then be possible to 'Better Recover' from (even) an MCU Brown-Out!

  • Hi,

      Is SYSCTL_PBORCTL_R your own define? The TivaWare has the #define for this register in the inc/hw_sysctl.h as in the follwowing. 

    #define SYSCTL_PBORCTL 0x400FE030 // Brown-Out Reset Control

     When I write 

    HWREG(SYSCTL_PBORCTL) &= ~0x00000006;

      I can see both the BOR0 and BOR1 cleared to 0. 

      With that said, I agree with cb1, why would you prefer interrupt over reset? A brownout is a critical event although your external voltage supervisor will ultimately be responsible to monitor if the voltage is out of regulation. 

  • I wanted to test the behavior with out brown out but i'm not intended to keep it off.

  • i'm using "#define SYSCTL_PBORCTL_R        (*((volatile uint32_t *)0x400FE030))"  from tm4c123gh6pm.h

  • Hi Rafael,

      Ok. As I mentioned, I was able to see both BOR0/BOR1 cleared to 0. Are you still not able to clear the bits?