学习板:Launchpad msp430g2231
做任何事情的前提都有准备工作,我实验之前是看的 【LaunchPad】系统初始化及时钟配置.pdf这篇**还是讲的比较详细的,推荐大家先看一下
上电后,系统默认使用的主系统时钟MCLK和子系统时钟SMCLK是DCOCLK产生的1.1MHZ时钟,而辅助时钟ACLK则为内部VLOCLK产生的12KHZ时钟。
(1)我把带的那个32.768KHZ的晶体焊在板子上了 实验代码为:
//******************************************************************************// MSP430G2231<span style="" color:black;"="">时钟实验//// 验证上电后的系统初始时钟//// 开发板状态:XIN--32.768KHZ--XOUT//// 馒头// 中国计量学院// 2012-3-2// Built with IAR Embedded Workbench Version: 5.30//******************************************************************************#include <msp430g2231.h> int main(){ BCSCTL3 |= LFXT1S1;//设置ACLK时钟源为32.768KHZ P1DIR |= BIT0 | BIT4; P1SEL |= BIT0 | BIT4;//选择P1.4口为SMCLK输出口 P1.0口为ACLK输出口 while(1);}
可以看一下BCSCTL1、BCSCTL2、BCSCTL3三个寄存器的值,查看寄存器的位分配图就可以知道,上电后,MCLK和SMCLK的时钟源都是默认为DCOCLK
用示波器测得P1.4口输出的SMCLK为1.09488MHZ(约为1.1MHZ),P1.0口输出的ACLK为12.0041KHZ(需要说明一下的是,我刚开始的时候没焊接晶体,程序里也没有这一句,然后debug,以为P1.0会输出默认的12.0041KHZ,可实际是输出的根本不是一个时钟信号,然后我焊接上晶体,依旧没加BCSCTL3 |= LFXT1S1这句,测得P1.0口输出的为32.768KHZ)
[cpp] view plain copy
print?
- <pre name="code" class="cpp"><pre></pre>
- <pre></pre>
- <pre></pre>
- <pre></pre>
- <pre></pre>
- <pre></pre>
- <pre></pre>
- <pre></pre>
- <pre></pre>
- <pre></pre>
- <pre></pre>
-
- </pre>
|