打印

RAM区被清零

[复制链接]
2292|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
spark周|  楼主 | 2011-6-16 18:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
五谷道场| | 2011-6-16 18:50 | 只看该作者
程序see see

使用特权

评论回复
板凳
spark周|  楼主 | 2011-6-16 19:04 | 只看该作者
void initCLK()
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop Watchdog Timer
  if (CALBC1_8MHZ ==0xFF || CALDCO_8MHZ == 0xFF)                                    
  {  
    while(1);                               // If calibration constants erased
                                            // do not load, trap CPU!!
  }   
  BCSCTL1 = CALBC1_8MHZ;                    // Set DCO to 8MHz
  DCOCTL = CALDCO_8MHZ;
}

使用特权

评论回复
地板
spark周|  楼主 | 2011-6-16 19:05 | 只看该作者
运行到最后此函数最后一句后,RAM区被清零导致 SP指向的堆栈区被清零 导致RET返回到了程序起始位置

使用特权

评论回复
5
jiaxw| | 2011-6-16 19:31 | 只看该作者
改成1M的话呢

使用特权

评论回复
6
spark周|  楼主 | 2011-6-16 19:33 | 只看该作者
改成1M的话 RAM区就正常

使用特权

评论回复
7
jiaxw| | 2011-6-16 21:26 | 只看该作者
也能返回正确地址吧

使用特权

评论回复
8
午夜粪车| | 2011-6-16 21:28 | 只看该作者
msp430 2132的DCO不能到8M??手册上说能16M呢!

使用特权

评论回复
9
spark周|  楼主 | 2011-6-16 21:48 | 只看该作者
是啊,哎

使用特权

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

本版积分规则

821

主题

10121

帖子

4

粉丝