cancel
Showing results for 
Search instead for 
Did you mean: 

STM32 NRST line

Ofer
Associate III

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

 

10 REPLIES 10
TDK
Guru

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".
Peter BENSCH
ST Employee

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.

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 Venmo
Up vote any posts that you find helpful, it shows what's working..
Ofer
Associate III

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.

Thanks dear Tesla

Ofer_1-1693512035146.png

Ofer_2-1693512097457.png

 

 

TDK
Guru

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
Associate III

I will measure VDD for NRST=1.4V.

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

Ofer_0-1693518616683.png

 

Garnett.Robert
Senior III

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

 

 

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.