智能车制作

标题: 求教一段PLL程序 [打印本页]

作者: 飞越太平洋    时间: 2012-3-24 16:31
标题: 求教一段PLL程序
将系统时钟设置成40M,并根据此设置定时器,每隔400ms led闪烁一次。
CLKSEL=0X00; // 初始化PLL前先使用外部晶振
PLLCTL_PLLON=1; // 开启 PLL
SYNR =0x40 | 0x04; // pllclock=2*osc*(1+SYNR)/(1+REFDV)=80MHz;
REFDV=0x80 | 0x01;
POSTDIV=0x00;
_asm(nop); // BUS CLOCK=40M
_asm(nop);
while(!(CRGFLG_LOCK==1)); //等待PLL稳定
CLKSEL_PLLSEL =1; //fBUS采用根据PLL频率设定

问题:红色字体段的里的"|"这个符号是什么运算法。没看到过,望指点一二。


作者: 王关军    时间: 2012-4-11 14:10
位或运算
作者: as8793765    时间: 2012-4-16 12:02
0x40||0x04=1
0x40|0x04=0x44(01000000|00000100=01000100)
作者: xiaoxi1234    时间: 2012-5-19 16:01
pllclock=2*osc*(1+SYNR)/(1+REFDV)
这个公式里的SYNR和REFDV应该是SYNDIV和REFDIV吧
作者: ASIA    时间: 2012-7-21 18:09
位运算,位运算也不对吧,直接用十进制就是了,麻烦,复杂,

作者: nst11305    时间: 2012-8-31 17:05
或运算,不改变其他位,只将操作数是1的位置1
作者: 虚-客    时间: 2012-9-9 16:13
里面很详细
作者: 狅士§    时间: 2014-3-17 22:46
看一看,顶一顶




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2