查看: 3420|回复: 2

[已解决] LPC54608标准定时器的时钟是否可以提高

[复制链接]

该用户从未签到

61

主题

233

帖子

7

高级会员

Rank: 4

积分
750
最后登录
2021-1-25
发表于 2018-1-22 16:21:39 | 显示全部楼层 |阅读模式
想用LPC54608的标准定时器CTIMER来做延时函数,参考SDK里的SDK_2.2_LPC54608J512\boards\lpcxpresso54608\driver_examples\ctimer\simple_match这个例程,发现定时超过300ms就溢出。以下代码里我设置matchValue= 500*BUS_CLK_FREQ/1000 ,根据时钟为12M,这里设置的定时值为500*12000000/1000/12000000=500ms.但是实际得出的是150ms左右。这应该是溢出了。请问如何提高定时器的时钟,我在手册里看到好像定时器的时钟不能用FROHF48这些。另外我还想定时us级别,时钟该如何选?SYSCON->ASYNCAPBCTRL = 1;
    /* Use 12 MHz clock for some of the Ctimers */
    CLOCK_AttachClk(kFRO12M_to_ASYNC_APB);
    BOARD_InitPins();
    BOARD_BootClockFROHF48M();
    BOARD_InitDebugConsole();
    PRINTF("CTimer match example to toggle the output on a match\r\n");
    CTIMER_GetDefaultConfig(&config);
    CTIMER_Init(CTIMER, &config);
    matchConfig.enableCounterReset = true;
    matchConfig.enableCounterStop = false;
   matchConfig.matchValue = 500*BUS_CLK_FREQ/1000;//定时500ms
   matchConfig.outControl  = kCTIMER_Output_Toggle;
    matchConfig.outPinInitState = false;
    matchConfig.enableInterrupt = false;
    CTIMER_SetupMatch(CTIMER, CTIMER_MAT_OUT, &matchConfig);
    CTIMER_StartTimer(CTIMER);

我知道答案 目前已有2人回答
timer clock.png
回复

使用道具 举报

该用户从未签到

61

主题

233

帖子

7

高级会员

Rank: 4

积分
750
最后登录
2021-1-25
 楼主| 发表于 2018-1-22 16:36:38 | 显示全部楼层
定时器是32位的,时钟是12M,那么定时器的定时时间应该可以到2^32/12000000=357.9S?
回复 支持 反对

使用道具 举报

该用户从未签到

61

主题

233

帖子

7

高级会员

Rank: 4

积分
750
最后登录
2021-1-25
 楼主| 发表于 2018-1-22 17:05:34 | 显示全部楼层
paulkiyt 发表于 2018-1-22 16:36
定时器是32位的,时钟是12M,那么定时器的定时时间应该可以到2^32/12000000=357.9S? ...

问题已经解决
matchConfig.matchValue =400*BUS_CLK_FREQ/1000;这样写就不行
但是写成
matchConfig.matchValue =2*BUS_CLK_FREQ/5或者matchConfig.matchValue =4*BUS_CLK_FREQ/10就ok。
这个我没搞懂

评分

参与人数 1 +1 收起 理由
NXP管管 + 1 结帖奖励

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-23 04:51 , Processed in 0.093119 second(s), 24 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表