Jump to content
43oh

Energia CC3200MOD Incorrect GPIO Output


Recommended Posts

I'm getting very frustrated with this CC3200MOD, and the CC3200 in general. First it started with the A0 analog channel always reading 4096 but now on to some GPIO problems. This should be fairly straight forward but apparently they make everything difficult, so I don't know what to say.

 

I have made a custom PCB for using the CC3200MOD. Its supposed to read the 4 ADCs, 3 for accelerometer, which is working great, 1 for an analog microphone, which isn't working at all, but I've given up on it and going to just mux with one of the 3 working ones. Now I have 3 LEDs on the board for general LED applications. These LEDs are on pins(pins of the MOD device) 6,7,8, which correspond to (according to PinMux Tool) GPIO 15,16,17.

 

So ideally I should be able to just pinMode the pins to OUTPUT, and set them HIGH to have the LEDs working. I should mention right now that I have two populated boards both have issues in the same way. So if I was to do this in Energia it would just be:

pinMode(15,OUTPUT);
pinMode(16,OUTPUT);
pinMode(17,OUTPUT);

digitalWrite(15,HIGH);
digitalWrite(16,HIGH);
digitalWrite(17,HIGH);

So this is where it gets strange, only 1 LED turns on, only GPIO16. But here is the kicker, GPIO16 turns on only when I enable GPIO15!!
What the heck is going on, I think there is an issue with Energia incorrectly labelling pins but I cannot find the solution. I think this is also the issue with the analog pin, but I want to sort this out first.

 

Does anyone know what is going on?

 

 

Ill break it down:

  • GPIO16 turns on when I digitalWrite(15,HIGH)
  • GPIO15 and GPIO17 don't turn on at all and get some weird low voltage on them.
  • Using Energia

 

Link to post
Share on other sites
  • 2 weeks later...
  • 2 weeks later...

Hi,

 

Did you sort out this problem? 

 

I think I am facing the same problem. I have developed a device based on the CC3200mod chip, but in no way I am able to read the ADC input.

 

Any help would really appreciated. This is really frustrating.

 

Thank you.

 

 

Was not able to solve the ADC problem. I was however able to solve the LEDs on my board.

 

Somewhere in Energia there is some issues with the pin declarations. So I ran through all of the pins on my board setting them high, (GPIO0-30). GPIO18(which doesn't exist according to TI) makes MOD Pin 8 of the LEDs light up and GPIO 14(instead of 16) makes MOD Pin 6 light up. I'm happy they work, but I'm not happy that there are these kind of random issues that shouldn't exist. I've looked at the pin declarations and they seem to be right. With so many libraries messing with each other, I don't think I'm skilled enough to find the real solution.

 

I also sampled all of the GPIO(0-30 ommiting ones I knew were connected) for ADC, and 6 different GPIOs sampled ADC, but two of them were just double declared. I can't remember which, it was like 2,6,23,24,25,26.

I think 2 and 24 are A1, 6 and 26 is A2, 23 is A0(only samples 4095), and 25 is A3. Something like that - I could be wrong with the actual numbers but yeah same solution. It doesn't make sense that only one would be sampling like that because its a continuous mux inside of the device. I still think its an internal pull-up being automatically enabled by the Hardware Serial device. I was going to get ahold of RedBearLabs because they have an arduino compatible board and they have all of the ADCs on the board. I want to see what they have to say.

Link to post
Share on other sites

@@Rei Vilo

 

1) It gets confusing because I am using CC3200MOD. So the Pins mapped are different than the Launchpad. But when I say GPIO, I mean the GPIO used when using energia.

2) I'm using the latest version of Energia, but I have CC3200 selected, not CC3200MT selected.

 

These images should really help explain what I mean.

 

CC3200MOD_Pins.jpg

The red text is what I actually have to use to enable the pins for my LEDs, not the ones listed.

This is screen grab of the board I'm using for reference.

LED_Pins.jpg

 

 

Of course this could all be an issue with CC3200MOD. Maybe I didn't look into the issue deep enough. I thought Energia would correspeond to the GPIO listed on the data sheet, but thats not the case here.

 

I am not directly using SPI, but I am using WiFi library and SerialFlash libary.

Link to post
Share on other sites

Of course this could all be an issue with CC3200MOD. Maybe I didn't look into the issue deep enough. I thought Energia would correspeond to the GPIO listed on the data sheet, but thats not the case here.

 

I am not directly using SPI, but I am using WiFi library and SerialFlash libary.

 

No, the pins numbers refer to the BoosterPack connectors, as in this map

 

Now, you can easily find the correspondence between the BoosterPack connectors and the GPIO by exploring the pins_energia.h file.

 

Now, the pins naming is really complicated for the CC3200, as there are many different schemes competing each other. This prompted the selection of the BoosterPack connectors pins numbers as the reference.

Link to post
Share on other sites

You're correct. I had been looking at the pins_energia.h file, but was looking at it wrong.

 

The GPIO_XXs commented out on the right are incorrect. Following the number of the pin in the corresponding array works properly... Kind of stupid I didn't pick that up. I realize now that the GPIO is referring to the Launchpad.

pins_energia.jpg

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...