打印
[ZLG-ARM]

路过的顺便帮忙看看LPC2146的Timer问题

[复制链接]
1327|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
seekfor|  楼主 | 2007-7-10 08:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.CPU频率60M,外围设备频率60M
2.TMR_wait(680)大概延时多少?我算了下是22us左右,不知道对不?
3.我现在需要精确延时22.7us/45.4us等,请问该怎么才能保证精度?

#ifndef __TMR_C__
#define __TMR_C__
#include <common.h>

#if WAIT_USING_TIMER==1

void TMR_init()
{
    UART_printf("Timer Module init...");
    T0CTCR=0x00;/*选择定时器模式*/
    T0TC=0x00000000;/*原始数据0x00000000*/
    T0PR=0x00000000;
    T0PC=0x00000000;
    UART_printf("OK! ");
}

void TMR_wait(unsigned int total)
{
    T0TC=0x00000000;/*原始数据0x00000000*/
    T0MR0=total;/*设置匹配0数据*/
    T0TCR=0x01;/*使能TMR中断*/
    T0MCR=0x07;/*产生MR0中断,TC复位,TMR停止*/
    while(!(T0IR&0x01));/*等待MR0中断产生*/
    T0IR=0x01;/*清除中断*/
    T0TCR=0x00;/*禁止Timer*/
}



#endif

#endif

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

106

帖子

0

粉丝