FX3/CX3(CYUSB3065) GPIO 不产生输入中断

公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
YaXi_4492421
Level 2
Level 2
10 replies posted 10 questions asked 5 replies posted

我使用GPIO做输入中断,但是进不去中断,请问是我哪里弄错了吗?以下是我的初始化及中断代码:

// gpio int

void CyFxGpioIntrCb (uint8_t gpioId)

{

CyBool_t gpioValue = CyFalse;

CyU3PReturnStatus_t apiRetStatus = CY_U3P_SUCCESS;

/* Get the status of the pin */

apiRetStatus = CyU3PGpioGetValue (gpioId, &gpioValue);

if (gpioValue == CyTrue)

{

CyU3PGpioSetValue (22, CyFalse); // FOR IR LED

}

else

{

CyU3PGpioSetValue (22, CyTrue); // FOR IR LED

}

if( GPIO_SSOR_XVS == gpioId)

{

}

}

// init gpio

void

CyFxGpioInit (void)

{

CyU3PGpioClock_t gpioClock;

CyU3PGpioComplexConfig_t gpioConfig;

CyU3PReturnStatus_t apiRetStatus = CY_U3P_SUCCESS;

/* Init the GPIO module */

gpioClock.fastClkDiv = 2;

gpioClock.slowClkDiv = 0;

gpioClock.simpleDiv = CY_U3P_GPIO_SIMPLE_DIV_BY_2;

gpioClock.clkSrc = CY_U3P_SYS_CLK;

gpioClock.halfDiv = 0;

vJackyTestPrintNormal (4, "CyU3PGpioInit begin\n");

apiRetStatus = CyU3PGpioInit(&gpioClock, CyFxGpioIntrCb);

if (apiRetStatus != 0)

{

/* Error Handling */

vJackyTestPrintErr (4, "CyU3PGpioInit failed, error code = %d\n", apiRetStatus);

// CyFxAppErrorHandler(apiRetStatus);

}

CyU3PGpioSimpleConfig_t gpioConf = {0};

gpioConf.inputEn     = CyTrue;

gpioConf.driveLowEn  = CyFalse;

gpioConf.driveHighEn = CyFalse;

gpioConf.outValue    = CyFalse;

gpioConf.intrMode    = CY_U3P_GPIO_INTR_BOTH_EDGE;

apiRetStatus = CyU3PGpioSetSimpleConfig (44, &gpioConf);

}

main function:

io_cfg.gpioSimpleEn[1]  = io_cfg.gpioSimpleEn[1]  | FX3_GPIO_TO_HIFLAG(44);

0 点赞
1 解答
YaXi_4492421
Level 2
Level 2
10 replies posted 10 questions asked 5 replies posted

返回0.

现在解决了,去掉CyU3PMipicsiInitializeGPIO,就可以了

谢谢您啊

在原帖中查看解决方案

0 点赞
2 回复数
YiZ_31
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

apiRetStatus = CyU3PGpioSetSimpleConfig (44, &gpioConf);这里你打印返回值看过了吗?

请尝试用CyU3PDeviceGpioOverride 配置引脚44。

0 点赞
YaXi_4492421
Level 2
Level 2
10 replies posted 10 questions asked 5 replies posted

返回0.

现在解决了,去掉CyU3PMipicsiInitializeGPIO,就可以了

谢谢您啊

0 点赞