主题 : s3c6410定时器中断 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 70205
精华: 1
发帖: 18
金钱: 140 两
威望: 28 点
贡献值: 1 点
综合积分: 56 分
注册时间: 2012-05-16
最后登录: 2017-09-13
楼主  发表于: 2012-07-27 00:23

 s3c6410定时器中断

开始调的时候比较复制,看多了就好了,数据手册很重要, 而且vic控制很好用  
初始化部分关键代码
    rTCFG0 = rTCFG0 & ~(0xff) | 255;
    rTCFG1 = rTCFG1 & ~(0xf) | 0x3;                  频率设置
    rTCNTB0 = 30000;//PCLK >> 7 / 2200;       加载计数值

    rTINT_CSTAT |=(1<<5);           清除标志位  
    rTINT_CSTAT |= 0x1;                 使能 这是timer0的使能
    rVIC0VECTADDR23 =(unsigned)pwm_isr;        中断向量地址

    rVIC0INTENABLE |= (1<<23);               vic使能

   rTCON&=~(0xf);              初始化tcon
   rTCON|=0xb;                     1011     1<<4 表示自动加载,这样定时器执行一次后最自动进行各种设置,准备下一次计时
                                                              1<<1 表示把数据进行加载
                                                               1<<0表示开始定时器
   rTCON&=~(0x2);                               &=0<<1  表示数据加载结束

中断函数关键代码、、、、、、、、、、
    rTINT_CSTAT |= (0x1 << 5);       清除中断标志
级别: 新手上路
UID: 72565
精华: 0
发帖: 8
金钱: 40 两
威望: 8 点
贡献值: 0 点
综合积分: 16 分
注册时间: 2012-06-24
最后登录: 2013-01-13
1楼  发表于: 2012-08-07 23:06
教我一下怎么用定时器呢?老大可以给我点代码吗?就一个简单的定时计数器就可以了.752629016@qq.com