TI中文支持网
TI专业的中文技术问题搜集分享网站

TDA4VM: 怎么在main domain上面实现GPIO 中断?

Part Number:TDA4VM

我参考了main_led_blink.c里面关于GPIO相关的代码,但是我的GPIO中断还是不能成功运行。我的代码如下:

//配置GPIO0_99(W23)作为中断	
typedef enum {ENUM_TEST_GPIO_INT_FUN_W23 = 0,
}GPIO_CTL;

GPIO_PinConfig gpioPinConfigs[] =
{GPIO_DEVICE_CONFIG(0, 99) | GPIO_CFG_IN_INT_BOTH_EDGES | GPIO_CFG_INPUT,
};

GPIO_CallbackFxn gpioCallbackFunctions[] =
{NULL,
};

GPIO_v0_Config GPIO_v0_config =
{gpioPinConfigs,gpioCallbackFunctions,sizeof(gpioPinConfigs) / sizeof(GPIO_PinConfig),sizeof(gpioCallbackFunctions) / sizeof(GPIO_CallbackFxn),0x8U
};

app_init()
{
	boardCfg = BOARD_INIT_PINMUX_CONFIG | BOARD_INIT_UART_STDIO | BOARD_INIT_MODULE_CLOCK;Board_init(boardCfg);
	int pinNum = 99;
	int bankNum = pinNum/16;									//bankNum=99/16	不知道这样计算是否正确?GPIO_v0_HwAttrs gpio_cfg;GPIO_socGetInitCfg(bankNum, &gpio_cfg);					//这里的idx使用bankNum变量,是否正确?gpio_cfg.baseAddr = CSL_GPIO6_BASE;						//这里的CSL_GPIO6_BASE 来源 bankNum=0 对应的值
	gpio_cfg.intCfg[pinNum].intNum = 256 + bankNum;				//这里的256参考其他源码里面的值?不知道为什么这里要设置为256gpio_cfg.intCfg[pinNum].intcMuxNum = INVALID_INTC_MUX_NUM;	//参考main_led_blink.c配置gpio_cfg.intCfg[pinNum].intcMuxInEvent = 0;					//参考main_led_blink.c配置gpio_cfg.intCfg[pinNum].intcMuxOutEvent = 0;				//参考main_led_blink.c配置
	GPIO_socSetInitCfg(bankNum, &gpio_cfg);						//这里的idx使用bankNum变量,是否正确?
	GPIO_init();GPIO_setCallback(ENUM_TEST_GPIO_INT_FUN_W23, AppGpioCallbackFxn_W23);GPIO_enableInt(ENUM_TEST_GPIO_INT_FUN_W23);
}

请问我的配置哪里有问题?

Cherry Zhou:

您好我们已收到您的问题并升级到英文论坛寻求帮助,链接如下,如有答复将尽快回复您。谢谢!

e2e.ti.com/…/tda4vm-how-to-implement-gpio-interrupts-on-main-domain

,

Cherry Zhou:

您好,英文论坛这边有工程师跟进了,您先看下工程师的答复。

赞(0)
未经允许不得转载:TI中文支持网 » TDA4VM: 怎么在main domain上面实现GPIO 中断?
分享到: 更多 (0)