中级会员
- 积分
- 251
- 威望
- 203
- 贡献
- 26
- 兑换币
- 2
- 注册时间
- 2008-11-20
- 在线时间
- 11 小时
|
本帖最后由 xxhs 于 2009-3-27 13:36 编辑
void Init_PLL(void)
{
CLKSEL=0X00; //disengage PLL to system
PLLCTL_PLLON=1; //turn on PLL
SYNR =0x00 | 0x04;
REFDV=0x00 | 0x03;
POSTDIV=0x00; //pllclock=2*osc*(1+SYNR)/(1+REFDV)=40MHz;
_asm(nop); //BUS CLOCK=20M
_asm(nop);
while(!(CRGFLG_LOCK==1)); //when pll is steady ,then use it;
CLKSEL_PLLSEL =1; //engage PLL to system;
}
以上是我根据chiusir版主给的超频代码修改的,想设置总线频率为20M,不知道对不对(身边没板子做测试)。请问能否用定时器中断,并用软件仿真的方式来测试频率设置的是否正确(我记得KEIL里头可以看运行时间的,不知道Codewarrior行不行)?请问该怎么做?
//初始化脉冲累加器
void Init_PAI(void){
// 16位脉冲计数器A,PT7
PACTL=0X50; //PT7 PIN,PACN32 16BIT,Rising edge,NOT INTERRUPT
TCTL3=0x40; //c-输入捕捉7上升沿有效,
//TCTL4=0xc0; //4 0表示ICx禁止, 1表示上升沿, 2表示下降沿, 3表示任何沿
TIE =0x00; //每一位对应相应通道中断允许,0表示禁止中断
TIOS =0x00; //每一位对应通道的: 0输入捕捉,1输出比较
PACNT = 0;
}
这部分是关于脉冲累加器的设置,用的是PT7口。我电路板上设计的是用PT0口来采集脉冲的,
不过数据手册上好像只有一个16位的脉冲累加器A,和原来DG128的有点不同。没看懂怎样
才能把它设置成用PT0口来采集,不知道要设成其他口该怎么改?
大伙都来看看呀!多多指教? |
|