TI中文支持网
TI专业的中文技术问题咨询交流网站

cc2640r2f怎么实现某个io口边沿中断和gptimer中断的Zero-latency interrupts

我用的芯片是cc2640r2f,用的是TI-RTOS的蓝牙5.0的协议栈,现在应用需要实现一个没有延时的中io口下降沿中断,和一个精确的timer,中断频率大概20K,怎么实现啊?能给一个代码参考吗?

Viki Shi:

请参考SDK中的GPTimer文档:C:/ti/simplelink_cc2640r2_sdk/docs/tidrivers/doxygen/html/_g_p_timer_c_c26_x_x_8h.html

user4665025:

回复 Viki Shi:

GPTimerCC26XX_Params params;GPTimerCC26XX_Params_init(&params);params.width= GPT_CONFIG_16BIT;params.mode= GPT_MODE_PERIODIC;params.direction= GPTimerCC26XX_DIRECTION_UP;params.debugStallMode = GPTimerCC26XX_DEBUG_STALL_OFF;hTimer = GPTimerCC26XX_open(CC2650_GPTIMER0A, &params);if(hTimer == NULL) {Log_error0("Failed to open GPTimer");Task_exit();}Types_FreqHzfreq;BIOS_getCpuFreq(&freq);GPTimerCC26XX_Value loadVal = freq.lo / 1000 – 1; //47999GPTimerCC26XX_setLoadValue(hTimer, loadVal);GPTimerCC26XX_registerInterrupt(hTimer, timerCallback, GPT_INT_TIMEOUT);GPTimerCC26XX_start(hTimer);

这种方式是有延时的,实现不了Zero-latency interrupts

赞(0)
未经允许不得转载:TI中文支持网 » cc2640r2f怎么实现某个io口边沿中断和gptimer中断的Zero-latency interrupts
分享到: 更多 (0)