This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hello,
I am currently using an Experimenters' Kit with a TMS320-F28335.
When I try to read a GPIO from PortC (for example GPIO87, or 85) with an external PullDown, it does not work as I expect: Normally, I should always get a "low"-signal, unless I set the pin directly on Vcc.
I tried it with this simple circuit:
3.3V
|
/ F28335
/ (switch) |-----------------
| |
|------------------| GPIO 87
| | |
| | R=2k |
|_ | |__________
|
|
0V
In this configuration, I always read a "high"-signal on my Pin. I configured the GPIO as Input with internal PullUp turned OFF.
But when I don't press the switch, I still get a "high"-signal. Of course, when I press it, i get "high" as well.
(I tried the same thing with GPIO60, and it worked as expected, not pressed --> low, pressed --> high.)
When I turn the circuit around and use a PullUp-Resistor and put the switch on the other side (to ground), I can read a "low"-signal on GPIO87 when I press my switch, and "high", when I don't press it.
Can anybody explain to me, why it only works with a PullUp on these GPIOs?
Do I need any other circuit to be able to use GPIOs from PortC with a PullDown?
I already searched the Datasheets, but found nothing...
Thanks for your help!
Philipp L.
No one got any idea?
Is this a known "feature"? Does anyone else have the same problem?
Philipp,
What is the version of F28335 controlCARD that you are using on your Experimenter's Kit?
If the cCARD is "F28335 PGF controlCARD RELEASE 1.0" or "F28335 controlCARD RELEASE 2.2", then the issue is likely with SW2. GPIO84-GPIO87's status controls whether the device boots from FLASH or whether it will boot from a different peripheral. SW2 allows the user to easily switch between boot modes. By default SW2 is fully on and will pull-up GPIO84-GPIO87 strongly.
Take a look at the schematics in the folder below once controlSUITE is installed:
C:\TI\controlSUITE\development_kits\~controlCARDs\CC2833xHWdevPkg\
Thank you,
Brett
Brett,
Thank you very much! As far as I could try it out until now, it seems to work with SW2(4) at "off"!
I think you have solved my problem!
But when I put SW2 to "off" on GPIO87, the device does not boot right away, only when I give a "high" on GPIO87. That's because of the fact that these GPIOs determine the boot modes, am I right?
I guess I should just use some other GPIOs for my application...
Thanks!
Philipp
Phillip,
Yes the switches determine the boot mode. You can take a look at the F28335 datasheet or the F28335 controlCARD Infosheet to determine what boot mode is chosen with each switch combination.
If available, you can certainly avoid the issue by using a different GPIO.
The amount of resistance near SW2 on the cCARD likely makes it very difficult to use GPIO84-87 directly. As a result, if you'd like to use GPIO84-87, you can depopulate SW2 and the pull-up/pull-downs around it and then carry this practice into your custom board. Then the custom board can push or pull the GPIO levels (with ~10K resistors) as necessary to get you into the boot mode you want.
Thank you,
Brett