Tool/software: Code Composer Studio
Hi,
I am implementing a pulse counter using CC2640R2F. I tried it by following way but I am facing issue. timercallback function for edge count up mode is not executing.
I wanted to capture the input provided on DIO0 pin.
Also I am getting warning that function "PINCC26XX_setMux" declared implicitly.
Can any one tell me what is the issue with this code?
GPTimerCC26XX_Handle hTimerA;
PIN_Handle timerPinHandle;
static PIN_State timerPinState;
PIN_Config GptPinInitTable[] =
{
IOID_0 | PIN_GPIO_OUTPUT_DIS | PIN_INPUT_EN | PIN_IRQ_DIS,
PIN_TERMINATE
};
void timerCallbackA(GPTimerCC26XX_Handle handle, GPTimerCC26XX_IntMask interruptMask)
{
GPTimerCC26XX_getValue(hTimerA);
}
void *mainThread(void *arg0)
{
GPTimerCC26XX_Params paramsA;
GPTimerCC26XX_Params_init(¶msA);
paramsA.width = GPT_CONFIG_16BIT;
paramsA.mode = GPT_MODE_EDGE_COUNT_UP;
paramsA.debugStallMode = GPTimerCC26XX_DEBUG_STALL_OFF;
hTimerA = GPTimerCC26XX_open(Board_GPTIMER0A, ¶msA);
if(hTimerA == NULL)
{
Log_error0("Failed to open GPTimer");
Task_exit();
}
PIN_Config pinCfg = PIN_ID(0) | PIN_GPIO_OUTPUT_EN | PIN_PUSHPULL | PIN_GPIO_HIGH | PIN_IRQ_POSEDGE;
timerPinHandle = PIN_open(&timerPinState, GptPinInitTable);
GPTimerCC26XX_PinMux pinMux = GPTimerCC26XX_getPinMux(hTimerA);
PIN_setConfig(timerPinHandle, PIN_BM_DRVSTR, pinCfg);
PINCC26XX_setMux(timerPinHandle,PIN_ID(0) , IOC_PORT_MCU_PORT_EVENT0);
GPTimerCC26XX_setCaptureEdge(hTimerA, GPTimerCC26XX_POS_EDGE);
GPTimerCC26XX_setLoadValue(hTimerA,0xFFFFFF);
GPTimerCC26XX_registerInterrupt(hTimerA, timerCallbackA, GPT_INT_CAPTURE);
GPTimerCC26XX_start(hTimerA);
}