mega128 的定时间隔设置
时间:10-02
整理:3721RD
点击:
我使用周立功的开发板设计了程序
/* initialize timer0 (8位定时器) */
// 使用 晶振 7.3728M , 定时周期设置为 100us
void timer0_init(void)
{
TCCR0 = 0X00; // stop timer
OCR0 = 92; // 基于 7.3728M 晶振,top = OCR0
TCNT0 = 0;
//ASSR = 0X00; // 同步模式
TIMSK |= (1<<OCIE0); // 输出比较匹配使能
TCCR0 = 0x42; // 8 分频, 启动定时器,采用CTC模式
//TCCR0 = 0x43; // 32 分频
}
本来想用上面代码初始化成 100us 间隔的中断
但是实际测试发现 并不是 100us 间隔 ,发现时钟频率大概 只有3.3M
如何测试 单片机的时钟频率?
/* initialize timer0 (8位定时器) */
// 使用 晶振 7.3728M , 定时周期设置为 100us
void timer0_init(void)
{
TCCR0 = 0X00; // stop timer
OCR0 = 92; // 基于 7.3728M 晶振,top = OCR0
TCNT0 = 0;
//ASSR = 0X00; // 同步模式
TIMSK |= (1<<OCIE0); // 输出比较匹配使能
TCCR0 = 0x42; // 8 分频, 启动定时器,采用CTC模式
//TCCR0 = 0x43; // 32 分频
}
本来想用上面代码初始化成 100us 间隔的中断
但是实际测试发现 并不是 100us 间隔 ,发现时钟频率大概 只有3.3M
如何测试 单片机的时钟频率?