cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F042K6 Not always starting code execution

dan
Associate II
Posted on December 11, 2014 at 20:07

Setup:

I used CubeMX to generate and added code to blink 2 leds and compiled with IAR Embedded.

LEDs are connected to PB3 and PB5.

I have several boards I soldered 042's to with proper caps, and leds with current resisters.

Issues:

STM32F042K6's soldered to QFP to DIP adapter boards and plugged into breadboards work as expected.

Chips soldered to a custom carrier board work 'sometimes.'  If my thumb is over the chip and touching most pins, then code runs good. (Thumb only needed to START code running from reset...)

All STM32F042K6 chips and caps are from same lots.

Any ideas on what I am missing?  Seems like it could be clock related, but I am using internal clock.  PF0 and PF1 are wired to a header with 2,2K pullup resisters to 3V3.

Dan

#stm32f042k6 #problem-solved
10 REPLIES 10
Posted on December 12, 2014 at 17:15

I'm not sure what stronger means in this context. I see problems when people use Push-Pull drivers, and drive the pin high. In nearly all ARM implementations this is an Open-Collector, bi-directional pin, ie the device may drive this pin low via a software NVIC reset, or POR circuit, and external device may also generate a reset. When the OC pin is clamped low it's not going to be going high naturally. If a thresholding device is clamping the pin low because the supply is out-of-spec you've got other issues to address.

I've used the Microchip MCP120 in several designs. Generally you'd want it on the highest, slowest to rise, supply. ARM parts running internally at ~1.2V can do a lot of stuff as a main supply is wandering up to 5V or 12V. Systems with complex power a supply sequencing requirements will need more attention.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..