为什么MSP430单片机晶振不起振
我的MSP430单片机的外部分别接了32768的晶振和8M的晶振,给板子上电后,供电电压正常,用示波器测了一下,晶振不起振。其中32768的晶振接的是10p的电容,8M的...
我的MSP430单片机的外部分别接了32768的晶振和8M的晶振,给板子上电后,供电电压正常,用示波器测了一下,晶振不起振。其中32768的晶振接的是10p的电容,8M的接的是20p的电容。
(1)我的硬件连接我检查过了,没有问题,还在朋友的建议下,换了电容,还是不行
(2)单片机我跑过其他程序,正常
(3)是不是测晶振是必须在软件里开启要测得振荡器,如把XT2OFF置1,这个有必要吗?还是单片机上电晶振就振?我的单片机既然能工作,还有一个问题是单片机上电后默认的是用哪个时钟,是不是内部的时钟? 展开
(1)我的硬件连接我检查过了,没有问题,还在朋友的建议下,换了电容,还是不行
(2)单片机我跑过其他程序,正常
(3)是不是测晶振是必须在软件里开启要测得振荡器,如把XT2OFF置1,这个有必要吗?还是单片机上电晶振就振?我的单片机既然能工作,还有一个问题是单片机上电后默认的是用哪个时钟,是不是内部的时钟? 展开
4个回答
展开全部
430单片机需要在程序内设定使用哪个外接晶振的,具体可以参考官方例程。
//******************************************************************************
// MSP-FET430P140 Demo - Basic Clock, MCLK Sourced from HF XTAL XT2
//
// Description: Proper selection of an external HF XTAL for MCLK is shown
// by first polling the OSC fault until XTAL is stable - only then is MCLK
// sourced by XT2. MCLK is on P5.4.
// ACLK= n/a, MCLK= XT2, SMCLK= DCO,
// //* HF XTAL NOT INSTALLED ON FET *//
// //* Min Vcc required varies with MCLK frequency - refer to datasheet *//
//
// MSP430F149
// -----------------
// /|\| XT2IN|-
// | | | XTAL (455k - 8Mhz)
// --|RST XT2OUT|-
// | |
// | P5.4|-->MCLK = XTAL
//
//
// M. Buccini / G. Morton
// Texas Instruments Inc.
// May 2005
// Built with Code Composer Essentials Version: 1.0
//******************************************************************************
#include <msp430x14x.h>
void main(void)
{
volatile unsigned int i;
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
P5DIR |= 0x10; // P5.4= output direction
P5SEL |= 0x10; // P5.4= MCLK option select
BCSCTL1 &= ~XT2OFF; // XT2= HF XTAL
do
{
IFG1 &= ~OFIFG; // Clear OSCFault flag
for (i = 0xFF; i > 0; i--); // Time for flag to set
}
while ((IFG1 & OFIFG)); // OSCFault flag still set?
BCSCTL2 |= SELM_2; // MCLK= XT2 (safe)
for (;;); // Do nothing
}
//******************************************************************************
// MSP-FET430P140 Demo - Basic Clock, MCLK Sourced from HF XTAL XT2
//
// Description: Proper selection of an external HF XTAL for MCLK is shown
// by first polling the OSC fault until XTAL is stable - only then is MCLK
// sourced by XT2. MCLK is on P5.4.
// ACLK= n/a, MCLK= XT2, SMCLK= DCO,
// //* HF XTAL NOT INSTALLED ON FET *//
// //* Min Vcc required varies with MCLK frequency - refer to datasheet *//
//
// MSP430F149
// -----------------
// /|\| XT2IN|-
// | | | XTAL (455k - 8Mhz)
// --|RST XT2OUT|-
// | |
// | P5.4|-->MCLK = XTAL
//
//
// M. Buccini / G. Morton
// Texas Instruments Inc.
// May 2005
// Built with Code Composer Essentials Version: 1.0
//******************************************************************************
#include <msp430x14x.h>
void main(void)
{
volatile unsigned int i;
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
P5DIR |= 0x10; // P5.4= output direction
P5SEL |= 0x10; // P5.4= MCLK option select
BCSCTL1 &= ~XT2OFF; // XT2= HF XTAL
do
{
IFG1 &= ~OFIFG; // Clear OSCFault flag
for (i = 0xFF; i > 0; i--); // Time for flag to set
}
while ((IFG1 & OFIFG)); // OSCFault flag still set?
BCSCTL2 |= SELM_2; // MCLK= XT2 (safe)
for (;;); // Do nothing
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
10P的电容好像有点小了吧?也换成20P的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是你的片子,坏了吧或者是晶振有问题吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询