请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:CC1310 大家好、
以下是客户的请求:
CC1310使用 GPTimer、GPTimer 在开启后不能产生中断、具体代码如下:
//frequency control
void hzirqcallback(GPTimerCC26XX_Handle handle, GPTimerCC26XX_IntMask interruptMask)
{
LEDOR();
}
void timerhz_init(void)
{
GPTimerCC26XX_Params params;
GPTimerCC26XX_Params_init(¶ms);
params.width = GPT_CONFIG_32BIT;
params.mode = GPT_MODE_PERIODIC_UP;
params.debugStallMode = GPTimerCC26XX_DEBUG_STALL_OFF;
Power_setDependency(PowerCC26XX_XOSC_HF); //Enable high-speed clock
hztimer = GPTimerCC26XX_open(HZGPTIMERNUM, ¶ms);
GPTimerCC26XX_Value loadVal = 48000000 / hz - 1; //47999
GPTimerCC26XX_setLoadValue(hztimer, loadVal);
GPTimerCC26XX_registerInterrupt(hztimer, hzirqcallback, GPT_INT_TIMEOUT);
timerhz_setstatus(0);
}
void timerhz_setstatus(uint8_t flag)
{
if(flag == 1) //open frequency timer
{
GPTimerCC26XX_start(hztimer);
}
else if(flag == 0) //off frequency timer
{
GPTimerCC26XX_stop(hztimer);
}
}
void timerhz_sethz(uint8_t h)
{
timerhz_setstatus(0);
GPTimerCC26XX_Value loadVal = 48000000 / h - 1; //47999
GPTimerCC26XX_setLoadValue(hztimer, loadVal);
}
调用 GPTimerCC26XX_START 后、无法生成中断的原因是什么? 如何判断计时器是否已启动?
您能帮助检查这个问题吗? 谢谢。
此致、
尼克