打印

MSP430主频问题

[复制链接]
2109|47
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
CaLipton|  楼主 | 2017-11-14 10:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
Rospiers| | 2017-11-14 10:36 | 只看该作者
可以参考这个时钟设置函数:
//时钟初始化
void Init_CLK(void)
{
  unsigned int qq;
  WDTCTL= WDTPW + WDTHOLD ; // 关看门狗
  BCSCTL1 &= ~XT2OFF;           //打开XT2高速晶体振荡器
  do
  {
    IFG1 &= ~OFIFG;           //Clear oscFault flag清除振荡器失效标志
    for(qq=0xff;qq>0;qq--);
  }while((IFG1&OFIFG));       //oscFault flag still set

  BCSCTL2 |= SELM_2;          //MCLK=XT2
  //BCSCTL2 |= DIVM_0;        //控制MCLK不分频,默认

  BCSCTL2 |= SELS;            //SMCLK=XT2
  //BCSCTL2 |= DIVS_0;        //控制SMCLK不分频,默认
}

使用特权

评论回复
板凳
dirtwillfly| | 2017-11-14 10:37 | 只看该作者
默认的mclk不用自己再配置的。。
能都提供下你的代码?

使用特权

评论回复
地板
Lewisnx| | 2017-11-14 10:51 | 只看该作者
不知道您的主频是如何测量的,是在MCLK的时钟输出引脚上测量的吗?

使用特权

评论回复
5
CCompton| | 2017-11-14 11:03 | 只看该作者
配置成ACLK试试正不正常,,或者换颗芯片试试

使用特权

评论回复
6
Richardd| | 2017-11-14 11:17 | 只看该作者
一个循环需要多少条指令,多少个周期

使用特权

评论回复
7
Mattheww| | 2017-11-14 11:25 | 只看该作者
本帖最后由 Mattheww 于 2017-11-14 11:27 编辑

好好整理下问题 可以直接用MCLK配置成定时器时钟,定个1s试试

使用特权

评论回复
8
Erichk| | 2017-11-14 16:53 | 只看该作者
首先,for循环一个周期有多条指令,其次,每条指令执行周期不是一个机器周期。

使用特权

评论回复
9
aspoke| | 2017-11-14 21:46 | 只看该作者
假设选择默认MCLK作为FLASH时序发生器,默认MCLK时钟频率典型值是1.1MHz,即1126.4KHz,需要3分频(375.5KHz,此时FN1为1)或者4分频(281.6KHz,此时FN1、FN0为1)才能符合257KHz~476KHz。

使用特权

评论回复
10
232321122| | 2017-11-14 21:47 | 只看该作者
void main()
{

    BCSCTL1 &= ~XT2OFF;           // XT2on
  do
  {
      IFG1 &= ~OFIFG;               // 清除晶振失效标识位
      for (i = 0x50; i > 0; i--);   // 延时等待晶振起振
  }
  while ((IFG1 & OFIFG));       //晶振失效标志仍然存在?

  BCSCTL2 |= SELM_2 + SELS;     // MCLK = SMCLK = XT2 (safe)\
   
}

使用特权

评论回复
11
ghuca| | 2017-11-14 21:47 | 只看该作者
mclk也可以任意设置的;。

使用特权

评论回复
12
aspoke| | 2017-11-14 21:50 | 只看该作者
通过设置FN0~FN5可以将时钟分频1~64,即32*FN5 + 16*FN4 + 8*FN3 + 4*FN2 + 2*FN1 + FN0 + 1。

使用特权

评论回复
13
232321122| | 2017-11-14 21:50 | 只看该作者
设置mclk位外部吗?

使用特权

评论回复
14
ghuca| | 2017-11-14 21:50 | 只看该作者
没有看懂楼主需要配置多大的频率?

使用特权

评论回复
15
smilingangel| | 2017-11-15 19:31 | 只看该作者
直接设置其内部的频率就可以的呀

使用特权

评论回复
16
comeon201208| | 2017-11-15 20:29 | 只看该作者
直接采用其1Mhz的DCO的设计的不就可以了么?

使用特权

评论回复
17
tongbu2015| | 2017-11-20 23:13 | 只看该作者
Rospiers 发表于 2017-11-14 10:36
可以参考这个时钟设置函数:
//时钟初始化
void Init_CLK(void)

程序上比较简单的,就看你的外部晶振是否OK ,能正常被起振的不

使用特权

评论回复
18
wangdezhi| | 2017-11-21 13:19 | 只看该作者
这个是不是分频的问题吗

使用特权

评论回复
19
isseed| | 2017-11-21 13:19 | 只看该作者
选择DCO作为时钟源

使用特权

评论回复
20
suzhanhua| | 2017-11-21 13:20 | 只看该作者
你的程序是怎么配置的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

126

主题

369

帖子

0

粉丝