智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1664|回复: 1
打印 上一主题 下一主题

求助大神 关于定时器的问题

[复制链接]

23

主题

186

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4310

优秀会员奖章活跃会员奖章在线王奖章论坛元老奖章

威望
1935
贡献
891
兑换币
672
注册时间
2011-7-15
在线时间
742 小时
跳转到指定楼层
1#
发表于 2012-9-12 20:05:58 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
定时器时间间隔的公式是t=n/(F(bus)/p)对吧

void vPLLInit(void)
{
unsigned char refdv;
refdv=3;
CLKSEL=0X00;    //disengage PLL to system
PLLCTL_PLLON=1;   //turn on PLL
SYNR =0xc0 | ((80/(refdv+1))-1);                        
REFDV=0x40 | refdv;
POSTDIV=0x00;       //pllclock=2*osc*(1+SYNR)/(1+REFDV)=160MHz;
_asm(nop);          //BUS CLOCK=80M
_asm(nop);
while(!(CRGFLG_LOCK==1));   //when pll is steady ,then use it;
CLKSEL_PLLSEL =1;          //engage PLL to system;
}

这个是倍频函数 F(bus)是80mhz

TSCR2_PR=7;
这个是分频因子p=128然后n=65536

所以t=65536/(80 000 000/128)=0.1

请问哪里出错了吗?因为我在中断里用变量自加,并显示在液晶屏上 效果大概是一一秒钟加一次.
但是计算的结果应该是0.1秒一次啊
求大神指点~

23

主题

186

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4310

优秀会员奖章活跃会员奖章在线王奖章论坛元老奖章

威望
1935
贡献
891
兑换币
672
注册时间
2011-7-15
在线时间
742 小时
2#
 楼主| 发表于 2012-9-12 22:32:15 | 只看该作者
自己顶 求大神...
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-25 02:54 , Processed in 0.043984 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表