2014-02-10 03:32 PM
Hello All,
Sorry have not been at the forums for a while. Been chugging away with the stm32f4. I ran into an issue that was pretty strange, took me a while to figure it out, so I thought I would start this discussion to maybe tell me what I was doing wrong. I'm using the DCMI and I have the Interrupts enabled; however, sometimes I would just never get an int (on frame, line or anything). So I built out a test case where it would just take pictures and blink lights. I noticed if I touched the right side of the board it would work. After resoldering the connectors and going half crazy I narrowed it down to one pin, E3. If I simply touch pin E3 the DCMI will work just fine. E3 is not being used for DCMI, in fact its not being used for anything. Also I've got the discovery board connected to my own designed board. I think I may have some issues with my pcb design, maybe I need some decoupling caps or something ? Anyway I got the circuit to work by initializing E3 with Pull Down. I get the feeling I should be Initializing all of my unused gpio, is this true ? Can someone with more XP shed some light on this situation ? Thanks !2014-02-10 05:58 PM
I've heard several perspectives on this type of thing, what most typically happens is the input pin oscillates, you touch it, or stick a probe on it, and the extra capacitance kills it, so it's hard to observe.
Consider if you can set this pin as an output, and drive it low. Or perhaps as an analogue input pulled low, the analogue mode turns off the schmitt trigger on the digital input path.2014-02-10 07:16 PM
I set it as a output and used a pull down. That seemed to help a lot. Thing is it was not a pin I was using for DCMI it was a pin that was not being used for anything.
I've built my second prototype tonight and hopefully I wont see similar issues, if I do I know it is something I will have to look into further.