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

CC1310: 捕获中断不生效?

Part Number:CC1310

我的捕获中断好像进不来,不知道那个环节少了什么?

是否有捕获中断的参考例程?

#include <ti/drivers/timer/GPTimerCC26XX.h>
#include <ti/drivers/gpio/GPIOCC26XX.h>
#include <ti/drivers/pin/pincc26xx.h>

#include "Board.h"

#define TIMER_PERIOD 1000000 // 定时器周期,单位为微秒,这里设置为 1 秒
#define TIMER_WIDTH GPT_CONFIG_32BIT

GPTimerCC26XX_Handle hTimer; // 声明为全局变量

GPIO_PinConfig capturePinConfigs[] = {
/* ant2_capture */
GPIOCC26XX_DIO_24 | GPIO_CFG_IN_NOPULL | GPIO_CFG_IN_INT_BOTH_EDGES,
};

void captureCallback(GPTimerCC26XX_Handle handle, GPTimerCC26XX_IntMask interruptMask)
{
uint32_t captureValue = GPTimerCC26XX_getValue(hTimer);

// 在这里处理捕获的脉宽值(captureValue)
// 根据需要执行其他操作
}

void capture_Init(void)
{
GPTimerCC26XX_Params timerParams;
GPTimerCC26XX_Params_init(&timerParams);

timerParams.width = GPT_CONFIG_16BIT;
timerParams.mode = GPT_MODE_EDGE_COUNT;
timerParams.direction = GPTimerCC26XX_DIRECTION_UP;
timerParams.debugStallMode = GPTimerCC26XX_DEBUG_STALL_OFF;

hTimer = GPTimerCC26XX_open(Board_TIMER1, &timerParams);

if (hTimer == NULL)
{
// 处理定时器打开失败的情况
while (1)
;
}
PIN_State capturePinState;
PIN_Handle capturePinHandle;
capturePinHandle = PIN_open(&capturePinState, capturePinConfigs);

// 配置为捕获模式
GPTimerCC26XX_PinMux pinMux = GPTimerCC26XX_getPinMux(hTimer);

PINCC26XX_setMux(capturePinHandle, PIN_ID(GPIOCC26XX_DIO_24), pinMux);
GPTimerCC26XX_setCaptureEdge(hTimer, GPTimerCC26XX_BOTH_EDGES);

// 注册捕获中断回调函数
GPTimerCC26XX_registerInterrupt(hTimer, captureCallback, GPT_INT_CAPTURE);

// 设置定时器周期
GPTimerCC26XX_setLoadValue(hTimer, TIMER_PERIOD);

// 启动定时器
GPTimerCC26XX_start(hTimer);
}

Galaxy Yue:

您好,

我看您所发上来的代码是无误的,我会继续看一下

另外没有捕获中断的例子,有中断相关的,我等下汇总一下贴上来

,

Galaxy Yue:

1.将定时器的宽度设置为GPT_CONFIG_16BIT可能会导致溢出。 如果有较长的时间间隔,这可能会有问题, 尝试一下改成GPT_CONFIG_32BIT

2.考虑GPIO是否触发中断

,

?? ?:

1.改成32bit打开就失败了;

hTimer = GPTimerCC26XX_open(Board_TIMER1, &timerParams);

if (hTimer == NULL){     // 处理定时器打开失败的情况     while (1)

}

2.不知道几个定时器有什么差异。

,

Galaxy Yue:

?? ? 说:改成32bit打开就失败了;

那您还是使用16bit吧

请问您指的是那几个?请您描述的更详细一些

?? ? 说:几个定时器

赞(0)
未经允许不得转载:TI中文支持网 » CC1310: 捕获中断不生效?
分享到: 更多 (0)