首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

版主您好.有个定时器预分频系数的问题想请教一下,谢谢

版主您好.有个定时器预分频系数的问题想请教一下,谢谢

版主你好,我想问一下.定时器初始化里边要设置的 预分频系数 到底有什么作用呢? 我想用输入捕捉功能测量2个波的距离.下边是我的中断部分程序.我想请问版主.设置的 预分频系数 和这里测出来的dic是什么关系呢.怎么才能算出来dic到底有多少秒.我用不同的分频系数这里的dic都会发生变化.谢谢版主了.我想了好几天还是不懂这里.

#pragma CODE_SEG NON_BANKED
void interrupt 8 ic0_int(void) //中断服务程序
{
TFLG1_C0F=1; //中断标志清除
ic4=TC0; //通过读TC0寄存器来相应中断,
dic4=ic4-ic40;
ic40=ic4; //得到脉冲宽度不需要考虑溢出
PORTB=0x55; //用LED灯来指示已经进入了中断
}

比如2M的bus clock,预分频系数是2,那你的计数器频率就是2M除以2等于1M,1M的倒数周期,用周期乘以dic4就是两个脉冲之间的时间间隔了
简单点说,你的定时器就是一个基准时钟源,通过定时器计数,这样你通过记录相应的出发捕捉的时刻的定时计数器的值,也就知道了相对的时间差
返回列表