mcu是430f2418
主时钟是外部8M ,低速时钟外部32.768 。 32.768用来做485通信的波特率。
程序运行初始化时钟部分如下。
出现不运行的时候使用示波器观察8M起振,32k没起振 。试过外部12pf ,内部6pf 。 外部不焊 内部12.5pf 。都不行
ps:晶振是kds的 12.5pf 圆柱状音叉型晶振。
- static void Init_clock(void)
- {
- DCOCTL=0x60;
- BCSCTL1=0x07;
- BCSCTL2=0x8a;//0x8a SMCLK=/2,0X88 SMCLK=/1
- // BCSCTL3=0x84; //6pF
- BCSCTL3=0x8C; //12.5pF
- //P5SEL=0X70;
- volatile unsigned int i;
- do
- {
- RED_LED_ON();
- GREEN_LED_ON();
- POWER_ON();
- IFG1 &= ~OFIFG; // Clear OSCFault flag
- for (i = 0xffff; i > 0; i--); // Time for flag to set
- }
- while ((IFG1 & OFIFG));
- }
复制代码
我们用的比较多的是 cc430f5137 , msp430f5438a ,msp430f2148
其中2418大多用在从模块上,就是需要频繁断电上电的 - -!
5438还没发现过这问题。 5137也出现过但很偶尔,还不能确定是这个问题。
刚查了下普通的有源晶体功耗有18uA 还是蛮大的。 待温补的倒是小,但是巨贵。
无源贴片的 串联电阻最大可到90k欧。
我之前测试晶体脚上的幅值, 8M主时钟上大约为500mV 32k上大约是200mV。
一周热门 更多>