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.

[参考译文] CC3200:GPIO 切换问题

Guru**** 2484615 points
Other Parts Discussed in Thread: CC3200

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1266705/cc3200-gpio-toggle-problem

器件型号:CC3200

大家好!

 我有一些问题

1) 1)如何知道哪个引脚在哪个端口中? 因此我得到  ulPort

2) 2)什么是"ucpins"意味着 GPIO 或微控制器引脚、或者它是否在任何库中定义?

3)在 SDK Blinky 示例中、它定义了 LED 1、2和3、如  


typedef 枚举
{
NO_LED、
LED1 = 0x1、/*红色 LED D7/GP9/Pin64 */
LED2 = 0x2、//*橙色 LED D6/GP10/Pin1 */
LED3 = 0x4 /*绿色 LED D5/GP11/PIN2 */

} ledEnum;

那么什么是0x1、0x2、0x4?

我想切换 CC3200的 GPIO 14 、因为我使用"TI 系统配置工具" 、并将 GPIO 设置为输出、然后我得到"ulPort"和"ucpins"。  

如"GPIODIR_MODESet (GPIOA1_base、0x40、GPIO_DIR_MODE_OUT);"

我编写用于切换引脚并将 LED 连接到该引脚的代码、但它无法正常工作任何人都可以检查代码。

//标准包括
#包含

// Driverlib 包含
#include "hw_types.h"
#include "hw_ints.h"
#include "hw_memmap.h"
#include "hw_common_reg.h"
#include "interrupt.h"
#include "hw_apps_rcm.h"
#include "prcm.h"
#include "rom.h"
#include "rom_map.h"
#include "prcm.h"
#include "GPIO.h"
#include "utils.h"

//通用接口包括
#include "GPIO_if.h"

#include "pin_mux_config.h"


//*****
//全局变量--开始
//*****
#if 已定义(CCS)
extern void (* const g_pfnVectors [])(void);
#endif
#if 定义(ewarm)
extern uVectorEntry __vector_table;
#endif
//*****
//全局变量--结束
//*****


//*****
//局部函数原型
//*****

静态空 BoardInit (空);

//*****
//本地函数定义
//*****

//*****
//
//! 电路板初始化和配置
//!
//! 帕拉姆无
//!
//! \无返回
//
//*****
静态空
BoardInit (空)
{
/*对于 TI-RTOS 矢量表、由操作系统本身初始化*/
#ifndef use_TIRTOS
//
//设置矢量表基地址
//
#if 已定义(CCS)
MAP_IntVTableBaseSet ((unsigned long)&g_pfnVector[0]);
#endif
#if 定义(ewarm)
MAP_IntVTableBaseSet ((unsigned long)&_vector_table);
#endif
#endif

//
//启用处理器
//
Map_IntMasterEnable ();
MAP_IntEnable (FAULT_SysTick);

PRCMCC3200MCUInit ();

//*****

int main()
{
BoardInit();

PinMuxConfig();

GPIOPinWrite (GPIOA1_base、0x40、1);
MAP_UtilsDelay (8000000);
GPIOPinWrite (GPIOA1_base、0x40、0);
MAP_UtilsDelay (8000000);


返回0;

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    基本上、物理引脚到 GPIO 之间的映射可以在原理图中看到(在基本 SDK /doc/hardware 目录中)、并且您应该有 pinmux 工具来选择引脚并生成代码。

    在本例中、您需要切换 GPIO14、即引脚5。

    用于初始化的代码应如下所示:

    MAP_PRCMPeripheralClkEnable (PRCM_GPIOA1、PRCM_RUN_MODE_CLK);

    PinTypeGPIO (PIN_05、PIN_MODE_0、FALSE);

    GPIODIRModeSet (GPIOA1_base、0x40、GPIO_DIR_MODE_OUT);

    然后、您应该能够切换。

    此致、

    什洛米