微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI WIFI设计交流 > CC3200将JTAG、SPI对应的接口复用成GPIO出现不能正常输出的问题

CC3200将JTAG、SPI对应的接口复用成GPIO出现不能正常输出的问题

时间:10-02 整理:3721RD 点击:

CC3200将JTAG对应的接口复用成GPIO,怎么操作时没有响应呢,另外SPI接口也是复用成SPI,只有GPIO16具备输出功能,请高手给解答下,谢谢!

void GPIO_init()
{
/*****************************
0 8 16 24 32
LED2----GPIO29----PIN20------ GPIOA3--0x20   //状态指示灯接口
SOUND----GPIO28----PIN18 ------ GPIOA3--0x10 //语音芯片控制接口
ADD----GPIO24----PIN17 ------ GPIOA3--0x01  //加减签接口
LED1----GPIO23----PIN16 ------ GPIOA2--0x80 //盘存指示灯接口
PC----GPIO22----PIN15 ------ GPIOA2--0x40  //盘存按键接口
CLK----GPIO16----PIN7  ------ GPIOA2--0x01   //屏CLK接口
SCL----GPIO15----PIN6  ------ GPIOA1--0x80  //屏SCL接口
SDA----GPIO14----PIN5  ------ GPIOA1--0x40  //屏SDA接口
EN----GPIO08----PIN63 ------ GPIOA1--0x01   //读卡器使能管教
*********************************/
 
  //输出
  

    MAP_PinTypeGPIO(UPIN_LED2, PIN_MODE_0, false);
    MAP_GPIODirModeSet(PORT_LED2,UPIN_LED2, GPIO_DIR_MODE_OUT);
    
    MAP_PinTypeGPIO(UPIN_SOUND, PIN_MODE_0, false);
    MAP_GPIODirModeSet(PORT_SOUND,UPIN_SOUND, GPIO_DIR_MODE_OUT);

    MAP_PinTypeGPIO(UPIN_LED1, PIN_MODE_0, false);
    MAP_GPIODirModeSet(PORT_LED1,UPIN_LED1, GPIO_DIR_MODE_OUT);
    
    MAP_PinTypeGPIO(UPIN_CLK, PIN_MODE_0, false);
    MAP_GPIODirModeSet(PORT_CLK,UPIN_CLK, GPIO_DIR_MODE_OUT);
    
    MAP_PinTypeGPIO(UPIN_SCL, PIN_MODE_0, false);
    MAP_GPIODirModeSet(PORT_SCL,UPIN_SCL, GPIO_DIR_MODE_OUT);

    MAP_PinTypeGPIO(UPIN_SDA, PIN_MODE_0, false);
    MAP_GPIODirModeSet(PORT_SDA,UPIN_SDA, GPIO_DIR_MODE_OUT);
        
    MAP_PinTypeGPIO(UPIN_EN, PIN_MODE_0, false);
    MAP_GPIODirModeSet(PORT_EN,UPIN_EN, GPIO_DIR_MODE_OUT);
  
  //输入中断配置
    
    //加减按键

    PinModeSet(UPIN_ADD,PIN_MODE_0);
    PinConfigSet(UPIN_ADD,PIN_STRENGTH_2MA,PIN_TYPE_STD);
    MAP_GPIODirModeSet(PORT_ADD,PIN_ADD, GPIO_DIR_MODE_IN);
    GPIOIntTypeSet(PORT_ADD,UPIN_ADD,GPIO_FALLING_EDGE);   //设置为下降沿
    GPIOIntRegister(PORT_ADD,Key_Handle);           //设置中断函数
    GPIOIntEnable(PORT_ADD,GPIO_INT_ADD);                   //使能触发中断
    
    //盘存按键
    PinModeSet(UPIN_PC,PIN_MODE_0);
    PinConfigSet(UPIN_PC,PIN_STRENGTH_2MA,PIN_TYPE_STD);
    MAP_GPIODirModeSet(PORT_PC,PIN_PC, GPIO_DIR_MODE_IN);
    GPIOIntTypeSet(PORT_PC,UPIN_PC,GPIO_FALLING_EDGE);   //设置为下降沿
    GPIOIntRegister(PORT_PC,Key_Handle);           //设置中断函数
    GPIOIntEnable(PORT_PC,GPIO_INT_PC);                   //使能触发中断
    
    Sound_DATA_H();
}

//声音模块
void Sound_DATA_H()         { GPIO_IF_Set(GPIOPIN_SOUND,PORT_SOUND,PIN_SOUND,1); }
void Sound_DATA_L()         { GPIO_IF_Set(GPIOPIN_SOUND,PORT_SOUND,PIN_SOUND,0); }

//UHF待机开关
void UHF_ON()             { GPIO_IF_Set(GPIOPIN_EN,PORT_EN,PIN_EN,1); }
void UHF_OFF()            { GPIO_IF_Set(GPIOPIN_EN,PORT_EN,PIN_EN,0); }


//盘存指示灯
void PC_LED_ON()            { GPIO_IF_Set(GPIOPIN_LED1,PORT_LED1,PIN_LED1,0); }
void PC_LED_OFF()           { GPIO_IF_Set(GPIOPIN_LED1,PORT_LED1,PIN_LED1,1); }


//状态指示灯
void Led_on()               { GPIO_IF_Set(GPIOPIN_LED2,PORT_LED2,PIN_LED2,0); }
void Led_off()              { GPIO_IF_Set(GPIOPIN_LED2,PORT_LED2,PIN_LED2,1); }


//显示屏驱动
void CLK_H()            { GPIO_IF_Set(GPIOPIN_CLK,PORT_CLK,PIN_CLK,1); }
void CLK_L()            { GPIO_IF_Set(GPIOPIN_CLK,PORT_CLK,PIN_CLK,0); }
void SCL_H()            { GPIO_IF_Set(GPIOPIN_SCL,PORT_SCL,PIN_SCL,1); }
void SCL_L()            { GPIO_IF_Set(GPIOPIN_SCL,PORT_SCL,PIN_SCL,0); }
void SDA_H()            { GPIO_IF_Set(GPIOPIN_SDA,PORT_SDA,PIN_SDA,1); }
void SDA_L()            { GPIO_IF_Set(GPIOPIN_SDA,PORT_SDA,PIN_SDA,0); }

建议参考示例example的源码。

板级初始化会进行接口的初始化。

可以使用TI Pin Mux Tool 工具对CC3200的PIN脚进行配置,

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top