OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5542|回复: 9

初学MSP430F6单片机,请各位大侠帮帮忙

[复制链接]

5

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2012-4-12
在线时间
4 小时
发表于 2014-10-11 18:12:15 | 显示全部楼层 |阅读模式
5金钱
我用MSP430F6单片机外部晶振XT1和XT2 ,现在晶振无法起振。大家帮忙看看配置是否有问题
程序如下:
void Init_Clk()
{
  P7SEL |=0x0f;                   //开启XT1,XT2  7.3,P7.2对应XT2   P7.1,P7.0对应XT1
  UCSCTL6 |= XCAP_3 + XT1DRIVE_0 + XT2DRIVE_1;
  UCSCTL6 &= ~(XT1OFF + XT2OFF );
                                  //打开XT1,XT2,全选外部晶振;XT2CLK = 8~16M;配置XT1的电容;XT1在低频模式
//  UCSCTL3 |= SELREF__REFOCLK;   //FLL 参考时钟选择REFOCLK    // UCSCTL3默认FLL 参考时钟 XT1CLK
  UCSCTL4 |= SELS_5 + SELM_5;     //MCLK=XT2CLK,SMCLK=XT2CLK,UCSCTL4  默认ACLK=XT1CLK   时钟源发生错误,ACLK会自动选择REFOCLK
                                 
  do
  {
   UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG  + DCOFFG);
                                   // Clear XT2,XT1,DCO fault flags
     SFRIFG1 &= ~OFIFG;            // Clear fault flags
  }while(SFRIFG1&OFIFG);           // Test oscillator fault flag
}
程序打断点,在上面的while循环的不能退出

最佳答案

查看完整内容[请看2#楼]

这个TI官网的mspf430f6系列的代码,可以参考一下。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

52

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2014-11-26
在线时间
0 小时
发表于 2014-10-11 18:12:16 | 显示全部楼层
这个TI官网的mspf430f6系列的代码,可以参考一下。

slac417h.zip

409.28 KB, 下载次数: 291

回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165353
金钱
165353
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-10-11 19:45:05 | 显示全部楼层
帮顶 ....
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

5

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2012-4-12
在线时间
4 小时
 楼主| 发表于 2014-10-12 10:55:18 | 显示全部楼层
大神们 帮帮忙啊
回复

使用道具 举报

60

主题

225

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
483
金钱
483
注册时间
2013-7-27
在线时间
4 小时
发表于 2014-10-12 11:30:33 | 显示全部楼层
M430没学过,有空研究一下。
回复

使用道具 举报

5

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2012-4-12
在线时间
4 小时
 楼主| 发表于 2014-10-13 16:31:43 | 显示全部楼层
难道没有人遇到过这样的问题吗?还是不屑于回答啊?  我还是想办法测试无源晶振的好坏吧
回复

使用道具 举报

6

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2014-12-5
在线时间
0 小时
发表于 2014-12-9 11:30:07 | 显示全部楼层
do
  {
   UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG  + DCOFFG);
                                   // Clear XT2,XT1,DCO fault flags
     SFRIFG1 &= ~OFIFG;            // Clear fault flags

//+++++++++++
     for (i = 0xFF; i > 0; i--);     //等待晶体起振……加入这句试下吧(当然,先要uchar i),我也是莱鸟,莫笑……
//+++++++++++

  }while(SFRIFG1&OFIFG);           // Test oscillator fault flag
}
为所有员工都能买车买楼而奋斗!
回复

使用道具 举报

4

主题

52

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2014-11-26
在线时间
0 小时
发表于 2014-12-9 12:40:34 | 显示全部楼层
do
  {
   UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG  + DCOFFG);
                                   // Clear XT2,XT1,DCO fault flags
     SFRIFG1 &= ~OFIFG;            // Clear fault flags
  }while(SFRIFG1&OFIFG);           // Test oscillator fault flag
}
像这一段可以直接用TI上面的例程,这一段的意思是 XT1刚刚起振的时候可能有错误,导致时钟错误标志位置位,必须先清零
然后配置时钟的话根据手册配置便可以了
回复

使用道具 举报

4

主题

52

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2014-11-26
在线时间
0 小时
发表于 2014-12-9 12:41:16 | 显示全部楼层
回复【7楼】扬帆起航:
---------------------------------
这一段我是复制你的,没有在TI上面找的例程,你可以到官网下
回复

使用道具 举报

5

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2012-4-12
在线时间
4 小时
 楼主| 发表于 2014-12-11 11:48:45 | 显示全部楼层
多谢。。。搞定
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 13:42

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表