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

CC1310 time边沿计数模式怎么配置

您好:

     关于定时器的操作,我想用边沿计数模式,没有找到相关事例。有没有配置流程和相关资料啊???

2.边沿计数模式,应该需要映射1个IO来记数外部输入的脉冲数。不知道怎么配置??

    

Viki Shi:

fghj dfghjk:

回复 Viki Shi:

mode改为这个,计数那个引脚上的边沿信号啊。有没有配置流程啊。边沿信号从哪里输入啊??

Viki Shi:

回复 fghj dfghjk:

在board.h里,GPTimer是如下定义的,没有指定具体物理引脚:
#define Board_GPTIMER0ACC1310_LAUNCHXL_GPTIMER0A
#define Board_GPTIMER0BCC1310_LAUNCHXL_GPTIMER0B
#define Board_GPTIMER1ACC1310_LAUNCHXL_GPTIMER1A
#define Board_GPTIMER1BCC1310_LAUNCHXL_GPTIMER1B
#define Board_GPTIMER2ACC1310_LAUNCHXL_GPTIMER2A
#define Board_GPTIMER2BCC1310_LAUNCHXL_GPTIMER2B
#define Board_GPTIMER3ACC1310_LAUNCHXL_GPTIMER3A
#define Board_GPTIMER3BCC1310_LAUNCHXL_GPTIMER3B

用户可以根据应用选择需要的引脚,比如:

#define Board_GPTIMER0ABoard_PIN_RLED

或者直接:
#define Board_GPTIMER0AIOID_6

引脚的具体对应关系请查看board.h和CC1310_LAUNCHXL.h

fghj dfghjk:

回复 Viki Shi:

多谢指教。顺便问一下这个引脚是随便指定的嘛??#define Board_GPTIMER0A IOID_6

Viki Shi:

回复 fghj dfghjk:

对,CC1310是引脚复用的,可以根据需要选择空闲的引脚

fghj dfghjk:

回复 Viki Shi:

哦哦,好的。明白了。我试试看哈,多谢了。

fghj dfghjk:

回复 Viki Shi:

我试着配置了下,定时器的边沿触发模式,
1.Board.h中定义
#define Board_GPTIMER0AIOID_1 //CC1310_LAUNCHXL_GPTIMER0A //mod lhj 201029

2.在任务函数中初始化如下:(问题,但是没有找到用什么API来关联IOID1,或者是配置????)

3.边沿计数器手册上说是24位的,也没看到在哪里能配置啊?????
4.有没有配置相关的代码呢????
//add lhj timerGPTimerCC26XX_Params timeParams;GPTimerCC26XX_Params_init(&timeParams);timeParams.width = GPT_CONFIG_32BIT;timeParams.mode = GPT_MODE_EDGE_COUNT_UP;//GPT_MODE_PERIODIC_UP;timeParams.matchTiming = GPTimerCC26XX_SET_MATCH_NEXT_CLOCK;timeParams.direction = GPTimerCC26XX_DIRECTION_UP;timeParams.debugStallMode = GPTimerCC26XX_DEBUG_STALL_OFF;gptime = GPTimerCC26XX_open(CC1310_LAUNCHXL_GPTIMER0A,&timeParams);//边沿配置GPTimerCC26XX_setCaptureEdge(gptime,GPTimerCC26XX_POS_EDGE );//正边沿计数

fghj dfghjk:

回复 Viki Shi:

您好:我现在在用timerA的边沿计数模式。使用没法得到计数值,不知道是因为配置不正确,还是其它哪地方没配置对???麻烦帮我分析一下。配置代码流程如下:

注意:用代码默认的边沿检测引脚IO23检测,定时器中断没开启,开启后也是读不到计数值。。。。。
1.第1步GPIO_setConfig(Board_GPIO_NST1001_DEC_IO23, GPIO_CFG_IN_NOPULL );//timerA 边沿检测引脚GPIO_setConfig(Board_GPIO_NST1001_P, GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);//mod lhj
2.第2步定时器边沿配置******//add lhj timer edgeGPTimerCC26XX_Params timeParams;GPTimerCC26XX_Params_init(&timeParams);timeParams.width = GPT_CONFIG_16BIT;//GPT_CONFIG_32BIT;timeParams.mode = GPT_MODE_EDGE_COUNT_UP;//GPT_MODE_PERIODIC_UP;timeParams.matchTiming = GPTimerCC26XX_SET_MATCH_NEXT_CLOCK;timeParams.direction = GPTimerCC26XX_DIRECTION_UP;timeParams.debugStallMode = GPTimerCC26XX_DEBUG_STALL_OFF;gptime = GPTimerCC26XX_open(CC1310_LAUNCHXL_GPTIMER0A,&timeParams);//边沿配置//GPTimerCC26XX_setMatchValue(gptime,2);GPTimerCC26XX_setCaptureEdge(gptime,GPTimerCC26XX_POS_EDGE );//正边沿计数

//ClockP_FreqHz freq;
//ClockP_getCpuFreq(&freq);
//GPTimerCC26XX_Value loadVal = freq.lo *50 – 1; //5smod lhj
//GPTimerCC26XX_setLoadValue(gptime, loadVal);
//GPTimerCC26XX_registerInterrupt(gptime,interruptTimer_5s,GPT_INT_TIMEOUT);//GPTimerCC26XX_start(gptime);
//add lhj timer C_FLAG = 0; //CPUdelay(1000*48/4); //GPIO_write(Board_GPIO_NST1001_P, 1);//给NST001供电
/* Enable interrupts *///GPIO_enableInt(Board_GPIO_NST1001_DQ);//mod lhj GPTimerCC26XX_start(gptime);//add lhjwhile(1){CPUdelay(35000*48/4);//大约10000usnst1001Int_Conut = GPTimerCC26XX_getValue(gptime);//读出的计数值一直是0*******???????GPIO_toggle(Board_GPIO_LED0);CPUdelay(5000*48/4);//大约10000us//GPTimerCC26XX_start(gptime);

Viki Shi:

回复 fghj dfghjk:

已在e2echina.ti.com/…/195126回复

赞(0)
未经允许不得转载:TI中文支持网 » CC1310 time边沿计数模式怎么配置
分享到: 更多 (0)