Skip to main content
Ofer
Associate III
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

 

7 replies

TDK
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.

"If you feel a post has answered your question, please click ""Accept as Solution""."
Ofer
OferAuthor
Associate III
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.

Peter BENSCH
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.

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
Tesla DeLorean
Guru
August 31, 2023

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

Got all the analogue supplies wired?

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
Ofer
OferAuthor
Associate III
August 31, 2023

Thanks dear Tesla

Ofer_1-1693512035146.png

Ofer_2-1693512097457.png

 

 

TDK
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?

"If you feel a post has answered your question, please click ""Accept as Solution""."
Ofer
OferAuthor
Associate III
August 31, 2023

I will measure VDD for NRST=1.4V.

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

Ofer_0-1693518616683.png

 

ONadr.1
Senior III
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.

Garnett.Robert
Senior III
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

 

 

######
Senior 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