2回答

0收藏

TC定时器中断

其他 其他 4399 人阅读 | 2 人回复 | 2013-04-17

本帖最后由 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

文档

分享到:
回复

使用道具 举报

回答|共 2 个

倒序浏览

沙发

GY@艳

发表于 2013-4-18 08:28:12 | 只看该作者

坐沙发的说
爱板  爱板  爱板     https://www.cirmall.com
板凳

shenwen2011

发表于 2013-4-19 13:23:40 | 只看该作者

{:soso_e100:}谢谢
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

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