关于CC3200无法输出引脚高电平
/********这部分是配置,配置引脚模式为输出*****************/
MAP_PRCMPeripheralClkEnable(PRCM_GPIOA2,PRCM_RUN_MODE_CLK);
MAP_PinTypeGPIO(PIN_15,PIN_MODE_0, false);
MAP_GPIODirModeSet(GPIOA2_BASE,GPIO_PIN_6, GPIO_DIR_MODE_OUT);
/*************这部分是让引脚输出高电平****************/
GPIOPinWrite(GPIOA2_BASE,GPIO_PIN_6,1);
有试着换过几个引脚配置,但是用万用表测都测不出有高电平。请问这个是什么问题?
另外,我想识别引脚高低电平的话,需要用到的是GPIOPinRead()函数吧~但是也并没有达到实验效果。
建议参考TI的CC3200的例子blinky
void
PinMuxConfig(void)
{
//
// Enable Peripheral Clocks
//
MAP_PRCMPeripheralClkEnable(PRCM_GPIOA1, PRCM_RUN_MODE_CLK);
MAP_PRCMPeripheralClkEnable(PRCM_GPIOA2, PRCM_RUN_MODE_CLK); //GPIO_22在GPIOA2中
//
// Configure PIN_64 for GPIOOutput
// OD/ 标准GPIO / 模拟输入
MAP_PinTypeGPIO(PIN_64, PIN_MODE_0, false); //CC_GPIO_09---RED PIN_MODE_0---GPIO模式 开漏输出
MAP_GPIODirModeSet(GPIOA1_BASE, GPIO_PIN_1, GPIO_DIR_MODE_OUT); //GPIO基地址+对应引脚号+IO方向
//
// Configure PIN_01 for GPIOOutput
//
MAP_PinTypeGPIO(PIN_01, PIN_MODE_0, false); //CC_GPIO_10---Yellow
MAP_GPIODirModeSet(GPIOA1_BASE, GPIO_PIN_2, GPIO_DIR_MODE_OUT);
//
// Configure PIN_02 for GPIOOutput
//
MAP_PinTypeGPIO(PIN_02, PIN_MODE_0, false); //CC_GPIO_11---Green
MAP_GPIODirModeSet(GPIOA1_BASE, GPIO_PIN_3, GPIO_DIR_MODE_OUT);
//
// Configure PIN_04 for GPIOInput
//
MAP_PinTypeGPIO(PIN_04, PIN_MODE_0, false); //GPIO13---SW3
MAP_GPIODirModeSet(GPIOA1_BASE, GPIO_PIN_5, GPIO_DIR_MODE_IN);
//
// Configure PIN_15 for GPIOInput
//
MAP_PinTypeGPIO(PIN_15, PIN_MODE_0, false); //GPIO22---SW2 注意是GPIO_22对应GPIO_PIN_6 !
MAP_GPIODirModeSet(GPIOA2_BASE, GPIO_PIN_6, GPIO_DIR_MODE_IN);
//PRCM_HIB_GPIO17 Hib唤醒GPIO
}
MAP_UtilsDelay(8000000);
GPIO_IF_LedOn(MCU_RED_LED_GPIO);
MAP_UtilsDelay(8000000);
GPIO_IF_LedOff(MCU_RED_LED_GPIO);
MAP_UtilsDelay(8000000);
GPIO_IF_LedOn(MCU_ORANGE_LED_GPIO);
MAP_UtilsDelay(8000000);
GPIO_IF_LedOff(MCU_ORANGE_LED_GPIO);
MAP_UtilsDelay(8000000);
GPIO_IF_LedOn(MCU_GREEN_LED_GPIO);
MAP_UtilsDelay(8000000);
GPIO_IF_LedOff(MCU_GREEN_LED_GPIO);