3299|1

2144

帖子

3

TA的资源

五彩晶圆(中级)

楼主
 

[LPC54100] 通用定时器使用 [复制链接]

开头引用我回复freebsder帖子的话,那是一篇对低功耗分析相当专业的帖子,大家有兴趣去看一下。



       我个人越来越喜欢这颗IC了,低功耗方面看怎么用,在提供合理的CPU性能的情况下功耗能控制得很合理,起码NXP给我考虑的很周到了。
其次对于内置的BAKUP SRAM区域可以说是一大特色,相比TI或者其他厂家的全部保持的做法有不少新意。
最后关于文档和CODE,虽然不足够多,但是给出的基本上也足够用了,关键还是要用心看,对于新手可能会有一些问题,其实我真正打算把这颗IC用起来是从昨天晚上开始的,已经在移植6lowpan了,接触了蛮多的外设,对他的文档和官方的驱动有了更深刻的认识,。
恩,要是有机会的话,以后要是允许我会重点把LPC54102平台化,作为项目中低功耗/传感/运算场合的通用平台,好好去维护。




      开始移植6lowpan协议栈,涉及的外设还挺多的,昨天晚上才开始,估计明天完成不了了,分享一些相关的东西吧。需要蛮多的timer和clock,拿最简单的通用定时器来搞吧,简单些。

先看看时钟树吧,蛮有必要的,从LPC5410x Standard counter/timers部分看出时钟来至APB,而APB的时钟从下面的时钟树看到来至几个地方,看程序中设置。



  1. /*
  2. * Main system clock rate in Hz for this board. Select a clock rate between
  3. * 1500000Hz and 150000000Hz for the main system (CPU) clock for this board.
  4. */
  5. #define BOARD_MAINCLOCKRATE                         (100000000)
复制代码


  1. Chip_SetupIrcClocking(BOARD_MAINCLOCKRATE);
复制代码



所以这里的时钟是100M,关于对定时器的配置,也蛮简单的,不得不再次强调写NXP库的工程师团队水平了得,其实不单单是软件工程师的功劳,和硬件设计的时候也是息息相关的,这些是和寄存器设计有关的,不多说了。



  1. /**
  2. * [url=home.php?mod=space&uid=159083]@brief[/url]  TIMER1_Init
  3. * @note   TIMER1初始化
  4. * @param  none
  5. * @retval none
  6. */
  7. void TIMER1_Init(void)
  8. {
  9.     /*
  10.      * 设置PR=100
  11.      * TIMER1时钟=PCLK(100M)/100 = 1M = 1000K
  12.      */
  13.     Chip_TIMER_Init(LPC_TIMER1);
  14.     Chip_TIMER_PrescaleSet(LPC_TIMER1, 100);
  15.     Chip_TIMER_Reset(LPC_TIMER1);
  16.     Chip_TIMER_MatchEnableInt(LPC_TIMER1, 1);
  17.     Chip_TIMER_SetMatch(LPC_TIMER1, 1, Chip_Clock_GetAsyncSyscon_ClockRate());
  18.     Chip_TIMER_ResetOnMatchEnable(LPC_TIMER1, 1);
  19.     Chip_TIMER_Disable(LPC_TIMER1);
  20.    
  21.     NVIC_ClearPendingIRQ(CT32B1_IRQn);
  22.     NVIC_EnableIRQ(CT32B1_IRQn);
  23.    
  24. }
复制代码
配置如上,这里需要注意PR的理解和设置,这里初始化禁止了TIMER1,此处的TIMER1用于us的精确延时,因为6lowpan涉及的协议栈、RAIDO驱动都蛮在意这个us延时的。

这玩意很简单,不过得用心,NXP提供的文档和驱动包都能满足你,随便哪个外设都还是很方便就能用起来的。大家有关于通用定时器的问题可以在这个帖子中跟帖讨论,不写了,打算去继续搞一下,希望能移植结束。




此帖出自NXP MCU论坛

最新回复

这芯片计时器确实很多:SCT,CT32,WWDT,RTC,MRC,RIT,SYSTICK,UTICK  详情 回复 发表于 2015-5-23 21:02
点赞 关注
个人签名电工
 

回复
举报

7628

帖子

2

TA的资源

五彩晶圆(高级)

沙发
 
这芯片计时器确实很多:SCT,CT32,WWDT,RTC,MRC,RIT,SYSTICK,UTICK
此帖出自NXP MCU论坛
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表