It hasn’t been a week since I posted the Pinout Diagram for the DP32, and already I’ve run into a serious roadblock that would have been easily solved if I’d only used my own diagram!
If you follow me on Instructables, you know that I’ve recently put out a tutorial on debouncing RC filters with the DP32 and uC32. During the majority of that tutorial, I focus on the uC32, because, as I pointed out at the end, the DP32 had some weird behavior. Well, as I began working more with RC filters and the DP32, that weird behavior grew into a serious headache, as I couldn’t get any RC filter to work properly!
I was using two interrupts on pins 2 and 3 (INT3 and INT1 respectively). The circuit I was using is below:
As you can see, my pulldown resistor (R2) is quite low. I found that if I made my pulldown resistors too large, the interrupts stopped working, but that’s the exact opposite of the behavior I expected! Larger pulldown resistors should increase the voltage difference seen by the interrupt pins. So what the heck was going on?
Everyone I asked for help was stumped. It wasn’t until an insightful observation from one of the engineering interns prompted me to take a different approach. What he suggested was that I check the performance of the pins themselves. That got me thinking, and finally I did what I should have done in the first place! I checked the DP32 Pinout Diagram I’d made the previous week.
Sure enough, I had completely forgotten about the jumpers connected to pins 2 and 3, which pull those pins up during normal operation. All I had to do was remove those jumpers and suddenly the DP32 was perfectly behaved.
That just goes to show that you need to check the whole row of signals on whatever pins you’re using, otherwise you might miss something that’ll end up causing no end of headaches later on down the line.
So for now my problem is solved with just a little bit of reading. At Digilent, we’re working hard to provide resources for new learners and experienced makers alike. We’re doing that the best way that we know how, by making neat things with our own products, and that means we frequently run into little stumbling blocks just like this one.
One Comment on “Always Check Your Pins!”
Most times, when something goes wrong with my projects, I find myself with a recurrent pattern: making assumptions without verifying them. Thats why have the habit to assume, in such cases, that I made the mistake (instead of blaming the board or the compiler or whatever). This makes finding the errors easier (at least for me). It gets more difficult when I don’t realize that I made an assumption that can go wrong…