查看: 3258|回复: 2

TC定时器中断

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

    连续签到: 68 天

    [LV.Master]伴坛终老

    发表于 2013-4-17 23:44:42 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 shenwen2011 于 2013-4-18 00:57 编辑

    TC定时器中断
    本实验完成了对定时器中断的应用,使用定时器中断对LED0进行控制,一秒中亮,一秒钟灭。实验中使用了定时器TC0,它是一个16位的定时器。下面对程序中函数进行说明。本实验中使用了atmelstudio的函数。
    tc_enable(&TCC0);
    定时器中断时钟的使能
    tc_set_overflow_interrupt_callback(&TCC0,
                         example_ovf_interrupt_callback);
    定时器中断关联中断函数。中断函数如下。
    static void example_ovf_interrupt_callback(void)
    {
           gpio_toggle_pin(LED0_GPIO);
    }
    对LED0进行控制,触发LED0状态,使其一亮一灭。
    tc_set_wgm(&TCC0, TC_WG_NORMAL);
    tc_write_period(&TCC0, 31250);
    设置定时器工作状态,配置定时器周期,由于定时起哦接的时钟是2Mhz,经过了64分频,所以一秒的计数是31250。为了达到1秒溢出中断,设置的初始值是就是31250。
    tc_set_overflow_interrupt_level(&TCC0, TC_INT_LVL_LO);
    运行定时器的周期分辨率。
    这样编译程序就可以看到led灯的一闪一灭了!
    此实验很简单,望大侠指教其中不足。


    tc.rar

    494.9 KB, 下载次数: 7

    程序

    5.pdf

    128.61 KB, 下载次数: 6

    文档

    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2014-7-16 09:10
  • 签到天数: 361 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2013-4-18 08:28:12 | 显示全部楼层
    坐沙发的说
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    17 小时前
  • 签到天数: 3894 天

    连续签到: 68 天

    [LV.Master]伴坛终老

     楼主| 发表于 2013-4-19 13:23:40 | 显示全部楼层
    {:soso_e100:}谢谢
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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



    手机版|小黑屋|与非网

    GMT+8, 2024-5-20 17:10 , Processed in 0.177366 second(s), 20 queries , MemCache On.

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

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.