关于时钟配置

[复制链接]
2848|3
 楼主| johnwjl 发表于 2009-6-1 10:29 | 显示全部楼层 |阅读模式
请教教主:<br />&nbsp;&nbsp;&nbsp;&nbsp;MCU&nbsp;AC16,用外部32.768KHZ晶振,把HGO设为低功耗模式时(即HGO=0),可以顺利通过。但当设置为高增益模式时(即HGO=1),程序一直在while(!ICGS1_LOCK),就是频率锁不定,教主请帮忙。<br /><br />&nbsp;&nbsp;/*&nbsp;&nbsp;System&nbsp;clock&nbsp;initialization&nbsp;*/<br />&nbsp;&nbsp;/*&nbsp;ICGC1:&nbsp;HGO=1,RANGE=0,REFS=1,CLKS1=1,CLKS0=1,OSCSTEN=1,LOCD=1&nbsp;*/<br />&nbsp;&nbsp;ICGC1&nbsp;=&nbsp;0xBE;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;HGO=1,&nbsp;高增益模式&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;/*&nbsp;ICGC2:LOLRE=1,MFD2=1,MFD1=0,MFD0=0,LOCRE=0,RFD2=0,RFD1=0,RFD0=0*/<br />&nbsp;&nbsp;ICGC2&nbsp;=&nbsp;0xC0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;ICGTRM&nbsp;=&nbsp;*(unsigned&nbsp;char*far)0xFFBE;&nbsp;&nbsp;<br />&nbsp;&nbsp;while(!ICGS1_LOCK)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Wait&nbsp;程序一直停在这里!*/<br />&nbsp;&nbsp;&nbsp;{asm&nbsp;sta&nbsp;SRS;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Reset&nbsp;watchdog&nbsp;counter&nbsp;*/<br />&nbsp;&nbsp;}<br />
张明峰 发表于 2009-6-2 08:39 | 显示全部楼层

32K晶体本来就应该使用低增益模式(HGO=0)

  
 楼主| johnwjl 发表于 2009-6-2 19:37 | 显示全部楼层

教主,那么多高频率的晶体可以使用高增益模式?

用在电力测量方面,低增益模式容易受干扰而死机.
张明峰 发表于 2009-6-3 08:40 | 显示全部楼层

1M以上可以用高增益模式

你可以用4-8MHz,Rb=1M,&nbsp;Rs=0,&nbsp;设置成高增益模式。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

204

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部