查看: 4590|回复: 1

实时定时计数器中断

[复制链接]
  • TA的每日心情
    奋斗
    12 小时前
  • 签到天数: 4066 天

    连续签到: 44 天

    [LV.Master]伴坛终老

    发表于 2013-1-18 19:26:28 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 shenwen2011 于 2013-1-19 01:25 编辑

    本实验运用了实时定时计数器产生中断,来点亮LED1,一秒钟点亮,一秒钟熄灭!
    首先本人运用Atmel Studio6.0建立新项目,如图所示。
    1.JPG
    2.JPG

    填好solution和project名字以及存放的路径,之后点击OK,完成项目的建立,建立完工程如下图所示。
    3.JPG
    Atmel studio替你准备好了#include <asf.h>,这个asf.h里面是所有用到的asf组件的头文件,有了它就不需要手工添加了。只是此建立的项目中,默认只配置了gpio组件,如图:
    4.JPG
    为了完成定时计数器中断实验,需添加必要组件,选择菜单Project->ASF Wizard,如图所示。
    5.JPG
    打开后,左边显示了所有组件,右边是项目中已经存在的组件。
    6.JPG
    下图是项目组件添加完成后的情况,添加了实时定时计数器有关的组件:RTT、Standard serial I/O(stdio)、System Clock Control。
    7.JPG
    然后点击Finish。之后就是程序的书写了!下图为我的主要函数。
    8.JPG
    主要的函数有两个,就是实时定时计数器配置函数和中断函数。
    为了很好了解这个两个函数,首先要对SAM4S Xplained使用的atsam4s16c的实时定时计数器有一定了解,下图定时计数器的框图。
    9.JPG
    首先实时定时计数器的时钟SCLK是32KHz,先进入一个16位的分频器,每来个一个时钟脉冲,32位的计数器自动加1,同时产生中断,为了使能这个中断,必须设置RTTINCIEN、ALMIEN等寄存器位。下图为相关的RTT寄存器。
    10.JPG
    11.JPG
    12.JPG
    13.JPG
    14.JPG
    下面解释一下实时定时计数器中的配置函数。
    rtt_init(RTT, 32768)这函数设置了分频器分频数,这样产生1Hz的脉冲值,这样每一秒钟产生中断,并且计数器的计数最大值是232秒,这样可以计时超过136年。
    NVIC_DisableIRQ(RTT_IRQn);
           NVIC_ClearPendingIRQ(RTT_IRQn);
    RTT_IRQn是RTT的中断号,此值为3。这两个函数作用是清除NVIC(嵌入中断向量控制器)中的RTT和待处理的RTT,以前的RTT不对现在的RTT产生干扰。
    NVIC_SetPriority(RTT_IRQn, 0);
    设置RTT的中断优先级,atsam4s16c中有0~15个优先级,0是最高级。
    NVIC_EnableIRQ(RTT_IRQn);
    在NVIC中使能RTT。
    rtt_enable_interrupt(RTT, RTT_MR_RTTINCIEN);
    使能RTT中的MR寄存器中的RTTINCIEN位,定时计数器加1使能。
    由此实时定时计数器的初始化配置完成。
    在中断函数中,
    if ((ul_status & RTT_SR_RTTINC) == RTT_SR_RTTINC) {
                       gpio_toggle_pin(LED0_GPIO);
             }
    当计数器值加1了,点亮或者熄灭了一个LED灯。
    由此我的程序介绍就写完了,下图是我的头文件和主函数。
    15.JPG
    16.JPG
    就写到这里吧,有些东东本人也在摸索中,以后在后续的帖子中将补上,中间有不对的地方,还希望有关的高手指点!
    下面网址是实验结果视频!

    http://u.youku.com/申爱丁

    rtt_led.rar

    2.87 MB, 下载次数: 36

    源代码

    实时定时计数器中断.pdf

    837.33 KB, 下载次数: 41

    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-1-19 22:39
  • 签到天数: 303 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2013-1-18 22:51:01 | 显示全部楼层
    参考,学习一下,
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

    手机版|小黑屋|与非网

    GMT+8, 2024-11-19 12:23 , Processed in 0.120558 second(s), 18 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.