dcjw 0 Posted April 1, 2020 Share Posted April 1, 2020 Hi I plan to use CC3220S P16 and P17 as GPIO output pins. I am using CC3220S_LAUNCHXL board. In TI CCS environment, I am able to drive those two pins to a logic high or low with the corresponding TDI, TDO jumpers on J3 removed. I have copied the GPIO configurations in ti_drivers_config.c from CCS environment to Energia15\packages\energia\hardware\cc3220emt\5.6.2\variants\CC3220S_LAUNCHXL\Board_init.c, but I am not able drive them in Energia. I have applied similar changes for other pins such as P62 and P18, and they are working expected, so just wondering if I am missing any configurations for these two pins. My Board_init.c: GPIO_PinConfig gpioPinConfigs[] = { /* port_pin */ GPIOCC32XX_EMPTY_PIN | GPIO_DO_NOT_CONFIG, /* 0 - dummy */ /* pins 1-10 */ GPIOCC32XX_EMPTY_PIN | GPIO_DO_NOT_CONFIG, /* 1 - 3.3V */ GPIOCC32XX_GPIO_03 | GPIO_DO_NOT_CONFIG, /* 2 - GPIO_03 */ GPIOCC32XX_GPIO_13 | GPIO_DO_NOT_CONFIG, /* 3 - GPIO_13 */ GPIOCC32XX_GPIO_12 | GPIO_DO_NOT_CONFIG, /* 4 - GPIO_12 */ GPIOCC32XX_GPIO_06 | GPIO_DO_NOT_CONFIG, /* 5 - GPIO_06 */ GPIOCC32XX_GPIO_04 | GPIO_DO_NOT_CONFIG, /* 6 - GPIO_04 */ GPIOCC32XX_GPIO_14 | GPIO_DO_NOT_CONFIG, /* 7 - GPIO_14 */ GPIOCC32XX_GPIO_07 | GPIO_DO_NOT_CONFIG, /* 8 - GPIO_07 */ GPIOCC32XX_GPIO_10 | GPIO_DO_NOT_CONFIG, /* 9 - GPIO_10 */ GPIOCC32XX_GPIO_11 | GPIO_DO_NOT_CONFIG, /* 10 - GPIO_11 */ /* pins 11-20 */ GPIOCC32XX_GPIO_22 | GPIO_DO_NOT_CONFIG, /* 11 - GPIO_22 */ GPIOCC32XX_GPIO_01 | GPIO_DO_NOT_CONFIG, /* 12 - GPIO_01 */ GPIOCC32XX_GPIO_25 | GPIO_DO_NOT_CONFIG, /* 13 - GPIO_25 */ GPIOCC32XX_GPIO_15 | GPIO_DO_NOT_CONFIG, /* 14 - GPIO_15 */ GPIOCC32XX_GPIO_16 | GPIO_DO_NOT_CONFIG, /* 15 - GPIO_16 */ GPIOCC32XX_EMPTY_PIN | GPIO_DO_NOT_CONFIG, /* 16 - RESET */ GPIOCC32XX_GPIO_31 | GPIO_DO_NOT_CONFIG, /* 17 - GPIO_31 */ GPIOCC32XX_GPIO_17 | GPIO_DO_NOT_CONFIG, /* 18 - GPIO_17 */ GPIOCC32XX_GPIO_28 | GPIO_DO_NOT_CONFIG, /* 19 - GPIO_28 JTAG_TCK */ GPIOCC32XX_EMPTY_PIN | GPIO_DO_NOT_CONFIG, /* 20 - GND */ /* pins 21-30 */ GPIOCC32XX_EMPTY_PIN | GPIO_DO_NOT_CONFIG, /* 21 - 5V */ GPIOCC32XX_EMPTY_PIN | GPIO_DO_NOT_CONFIG, /* 22 - GND */ GPIOCC32XX_GPIO_02 | GPIO_DO_NOT_CONFIG, /* 23 - GPIO_02 LP Detect */ GPIOCC32XX_GPIO_05 | GPIO_DO_NOT_CONFIG, /* 24 - GPIO_05 */ GPIOCC32XX_GPIO_03 | GPIO_DO_NOT_CONFIG, /* 25 - GPIO_03 */ GPIOCC32XX_GPIO_04 | GPIO_DO_NOT_CONFIG, /* 26 - GPIO_04 */ GPIOCC32XX_GPIO_08 | GPIO_DO_NOT_CONFIG, /* 27 - GPIO_08 */ GPIOCC32XX_GPIO_30 | GPIO_DO_NOT_CONFIG, /* 28 - GPIO_30 */ GPIOCC32XX_GPIO_09 | GPIO_DO_NOT_CONFIG, /* 29 - GPIO_09 */ GPIOCC32XX_GPIO_00 | GPIO_DO_NOT_CONFIG, /* 30 - GPIO_00 */ /* pins 31-40 */ GPIOCC32XX_GPIO_24 | GPIO_CFG_OUT_STD | GPIO_CFG_OUT_STR_HIGH | GPIO_CFG_OUT_LOW, /* 31 - GPIO_24 JTAG_TDO */ GPIOCC32XX_GPIO_23 | GPIO_CFG_OUT_STD | GPIO_CFG_OUT_STR_HIGH | GPIO_CFG_OUT_LOW, /* 32 - GPIO_23 JTAG_TDI */ GPIOCC32XX_GPIO_05 | GPIO_DO_NOT_CONFIG, /* 33 - GPIO_05 */ GPIOCC32XX_GPIO_07 | GPIO_DO_NOT_CONFIG, /* 34 - GPIO_07 */ GPIOCC32XX_GPIO_28 | GPIO_DO_NOT_CONFIG, /* 35 - GPIO_28 JTAG_TCK */ GPIOCC32XX_GPIO_25 | GPIO_DO_NOT_CONFIG, /* 36 - GPIO_25 */ GPIOCC32XX_GPIO_09 | GPIO_DO_NOT_CONFIG, /* 37 - GPIO_09 */ GPIOCC32XX_GPIO_24 | GPIO_CFG_OUT_STD | GPIO_CFG_OUT_STR_HIGH | GPIO_CFG_OUT_LOW, /* 31 - GPIO_24 JTAG_TDO */ GPIOCC32XX_GPIO_10 | GPIO_DO_NOT_CONFIG, /* 39 - GPIO_10 */ GPIOCC32XX_GPIO_11 | GPIO_DO_NOT_CONFIG, /* 40 - GPIO_11 */ }; /* * Array of callback function pointers * NOTE: The order of the pin configurations must coincide with what was * defined in CC3220S_LAUNCHXL.h * NOTE: Pins not used for interrupts can be omitted from callbacks array to * reduce memory usage (if placed at end of gpioPinConfigs array). */ GPIO_CallbackFxn gpioCallbackFunctions[] = { /* port_pin */ NULL, /* 0 - dummy */ /* pins 1-10 */ NULL, /* 1 - 3.3V */ NULL, /* 2 - GPIO_03 */ NULL, /* 3 - GPIO_13 */ NULL, /* 4 - GPIO_12 */ NULL, /* 5 - GPIO_06 */ NULL, /* 6 - GPIO_04 */ NULL, /* 7 - GPIO_14 */ NULL, /* 8 - GPIO_07 */ NULL, /* 9 - GPIO_10 I2C SCL */ NULL, /* 10 - GPIO_11 I2C SDA */ /* pins 11-20 */ NULL, /* 11 - GPIO_22 */ NULL, /* 12 - GPIO_01 */ NULL, /* 13 - GPIO_25 */ NULL, /* 14 - GPIO_15 */ NULL, /* 15 - GPIO_16 */ NULL, /* 16 - RESET */ NULL, /* 17 - GPIO_31 */ NULL, /* 18 - GPIO_17 */ NULL, /* 19 - GPIO_28 JTAG_TCK */ NULL, /* 20 - GND */ /* pins 21-30 */ NULL, /* 21 - 5V */ NULL, /* 22 - GND */ NULL, /* 23 - GPIO_02 */ NULL, /* 24 - GPIO_05 */ NULL, /* 25 - GPIO_03 */ NULL, /* 26 - GPIO_04 */ NULL, /* 27 - GPIO_08 */ NULL, /* 28 - GPIO_30 */ NULL, /* 29 - GPIO_09 */ NULL, /* 30 - GPIO_00 */ /* pins 31-40 */ NULL, /* 31 - GPIO_24 JTAG_TDO */ NULL, /* 32 - GPIO_23 JTAG_TDI */ NULL, /* 33 - GPIO_05 */ NULL, /* 34 - GPIO_07 */ NULL, /* 35 - GPIO_28 JTAG_TCK */ NULL, /* 36 - GPIO_25 */ NULL, /* 37 - GPIO_09 */ NULL, /* 38 - GPIO_24 JTAG_TDO */ NULL, /* 39 - GPIO_10 */ NULL, /* 40 - GPIO_11 */ }; My test: void setup() { pinMode(31, OUTPUT); pinMode(32, OUTPUT); digitalWrite(31, HIGH); digitalWrite(32, HIGH); } Thanks, Dennis Quote Link to post Share on other sites
Sam123 0 Posted May 8, 2020 Share Posted May 8, 2020 Did anyone reply to your question? I have a similar problem and what to program additional UART using Energia. Thanks. Quote Link to post Share on other sites
dcjw 0 Posted August 31, 2020 Author Share Posted August 31, 2020 Hi Sam123, Awfully sorry for the late reply. I didn't get any notification on this thread and just notice your message now... It turns out that there is initialization required in order to control these pins. This is done inside PRCMCC3200MCUInit(), so all we have to do is calling that function inside setup(). Hope it helps a bit, Dennis Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.