Stuck I/O Pin on Propeller Protoboard
I recently built a project on a Propeller Protoboard as a more permanent version of a breadboard circuit. Part of the circuit was connecting a transistor to one of the Prop I/O pins for use in controlling the backlight of a display. The circuit worked fine on the breadboard, but on the Protoboard, the transistor--or more accurately, the Prop I/O pin seems "stuck" on. But otherwise, the cicuit seems to work fine. I've tried reprogramming the Prop board several times, and even replaced the transistor, but to no avail. I am left to conclude that I somehow damaged that one I/O pin on the Propeller, or that is some other way got "stuck" high. Does anyone have an theories on what happened here, and how to avoid it in the future?
Comments
Here's a tip for checking I/O pins (any pins) using the diode range on your multimeter. With the board powered off and the positive probe connected to ground you should be able to probe the I/O pins and get very similar readings from each I/O pin, usually around 420mv or so but the exact figure is unimportant. You will know when you come across a damaged pin because it will either be open-circuit (max reading) or the reading will be out by hundreds of millivolts. Reverse the probes by putting the negative probe onto Vdd and checking the sourcing side as well. What's good about this method is that it will detect pins that are damaged but still working, maybe only just. The caveat of course is to take into account what may be connected to the pin.
BTW, you told a good story but only from your viewpoint, you have left out vital information that would be necessary for others to attempt to deduce what may be happening.
As to the code I'm using, it's nothing fancy:
DIRA[8]~~
OUTA[8]~~
...to turn it on, and
!OUTA[8]
...to turn it off. This code functioned as desired on the breadboard version, so I don't think it is the problem.
The multimeter diode test shows the same readings on the pin in question as on the other pins in both polarities, though my autoranging digital VOM shows ohms for that test, not mv (would this still indicate a good circuit?). On bootup, the pin does in fact go low but then goes high and stays there. I detached the transistor; the behavior is the same.
I would try a "null" program, except now the Prop Tool no longer can see the Propeller! It's the USB version of the board, and the little LED's blink at first when it's plugged into a USB port, but then no joy. The Propeller isn't dead, though--it is still running the original code. I can see it on the display. I just can't change it. Sigh... :-(
If say you want to limit the current to 20mA, then a 150ohm resistor would do it - anything less than 100 ohms is too low for comfort.