Skip to main content
Graduate II
August 31, 2023
Question

STM32 NRST line

  • August 31, 2023
  • 7 replies
  • 7136 views

Hi,

We are using STM32L452 for our project.

We have problem with pin NRST.

We set a 30K pull-up resistor (with pull-down capacitor of 0.1uF).

Sometime voltage on the NRST pin is 3.3V and sometimes it is 1.4V.

In cases it is 1.4V the MCU is stuck.

We think that in case of 1.4V happens because a pin leakage current.

Do you have any solution for us ?

Thanks

 

    This topic has been closed for replies.

    7 replies

    Super User
    August 31, 2023

    Probably when you see "1.4V" it's really a combination of 0V and 3.3V as the MCU continuously resets. Are you measuring on a multimeter or an oscilloscope?

    The solution would be to find out why it's resetting and address the issue. Look at the RCC->CSR flags on startup to determine the cause of the reset. Perhaps a watchdog reset? Debug, step through, to determine where the problematic code is. Probably not a power supply issue, but it could be.

    OferAuthor
    Graduate II
    August 31, 2023

    Thanks dear TDK

    I measured with a multimeter.

    I don't use a watchdog reset. 

    Connecting debugger "fix" the problem (NRST become 3.3V), so it will not be so easy solving it.

    Technical Moderator
    August 31, 2023

    In addition to the tips from @TDK, please note that the PIN NRST can also be an output (see the Reference Manual RM0394), able to drive the pin from inside.

    Please also note that in contrast to MCUs of the last millennium, a pull-up is no longer necessary (is also stated in the RM mentioned before). Examples like on the Blue Pills or Black Pills should be seen as a bad example here.

    Graduate II
    August 31, 2023

    Provide a schematic of what you've actually built, be easier than guessing.

    Got all the analogue supplies wired?

    OferAuthor
    Graduate II
    August 31, 2023

    Thanks dear Tesla

    Ofer_1-1693512035146.png

    Ofer_2-1693512097457.png

     

     

    Super User
    August 31, 2023

    Could be a power issue. The portion of your schematic that you showed wouldn't be causing this issue. Measure VDD when NRST is at 1.4V.

    Can you connect to the chip? Can you upload a program and step into it and debug?

    OferAuthor
    Graduate II
    August 31, 2023

    I will measure VDD for NRST=1.4V.

    Connecting debugger "fix" the issue (NRST=3.3V). 

    Ofer_0-1693518616683.png

     

    Graduate
    September 22, 2023

    Try looking at the NRST pin with an oscilloscope (or measure the AC Voltage part with a multimeter). If there are pulses, they are generated by the MCU internal reset. Maybe engaging the debugger somehow helped overcome the place in the code that caused the reset (adding a delay or something else...). I would also look at the config registry (CubeProg) to see if WDT and other sources of reset are disabled in it.

    Graduate II
    September 21, 2023

    Hi,

    1. Have you checked that your Vdd supply is a stable 3.3 Volts? Maybe that's changing.
    2. Can you put an oscilloscope on the reset pin and the Vdd? (Ch1 Vdd, Ch2 Reset, then turn on watch out for smoke)
    3. Are you sure your resistor is 33 k and not 330 k? (I did)
    4. Have you checked the capacitor is OK?
    5. The Reset pin hasn't got a solder bridge to another pin (mine did)
    6. You aren't changing the NRST pin function in your GPIO initialisation?

    Regards

    Rob

     

     

    Graduate II
    September 22, 2023

    As mentioned previously by others the NRST pin can actually act as an output. One other thing to check might be if your BOOT0 pin is correctly tied down for the boot mode you want to be executing from?

    Visitor II
    February 10, 2025

    Have you found a reason and solution for this problem?
    I had the same problem and could not solve it.
    I left it at low temperature for a month or two and somehow it started working.

    Thanks