打印

msp430 时钟初始化,老是进入死循环

[复制链接]
801|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
trouvan|  楼主 | 2016-8-27 21:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  if(CALBC1_1MHZ==0xFF){
    while(1);
  }
  DCOCTL=0;
  BCSCTL1=CALBC1_1MHZ;   
  DCOCTL=CALDCO_1MHZ;  //设置DC0的频率为1MHZ
   
  BCSCTL2=0;  //配置DCO作为MCLK和SCLK


这一段代码,初始化设置DC0作为SCLK的时钟源。(之后的代码里,我用SCLK作为时钟产生PWM波)

其中:
  if(CALBC1_1MHZ==0xFF){
while(1);
}
这一段应该是检测写在单片机里的校准信息是不是被擦除了,如果擦除就不再执行下面的程序了

可是我发现程序老死在这里。难道是校准信息被擦除了?

我把这一段删掉之后,也能正常产生PWM波。如果说校准信息被擦除了,怎么又能正常产生PWM波呢?

相关帖子

沙发
trouvan|  楼主 | 2016-8-27 21:39 | 只看该作者
我程序下载使用BSL下载的。BSL下载之前好像会擦除一些信息,难道是正好把校准信息擦除了?

使用特权

评论回复
板凳
trouvan|  楼主 | 2016-8-27 21:55 | 只看该作者
可能真的是信息被擦除了,因为PWM的频率也不对。DC0的频率我只设置1MHZ,但从PWM上看DC0的频率应该是20MHZ(即最高的那个)

使用特权

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

本版积分规则

13

主题

61

帖子

1

粉丝