This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP430F149:从待机模式唤醒

Guru**** 675520 points
Other Parts Discussed in Thread: MSP430F149
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1057721/msp430f149-wakeup-from-standby-mode

器件型号:MSP430F149

您好!  

当我们从待机模式加速 MSP430F149时、我们在代码中遇到了一个异常情况。

最初、MSP430F149 采用这种方式进行配置…

 

  DCOCTL = 0x40;               //加快计算机速度

  BCSCTL1 = 0x85;              // 40-84 ~ 750KHz  --  40-85 ~1.25MHz  --  a0-84 ~950KHz

   BCSCTL2 = 0x00;  

 

几秒钟后、我们将 MSP430置于待机模式

MSP430处于待机模式几秒钟:

 

    DCOCTL = 0x00;                   //返回到低功耗模式

     BCSCTL1 = 0x80;                  //减慢计算机速度

     ………

     ………

     ……… 5秒后……

               

然后、我们加快 MSP430的速度:

 

  DCOCTL = 0x40;                     //加快计算机速度

   BCSCTL1 = 0x85;                    // 40-84 ~ 750KHz  --  40-85 ~1.25MHz --  a0-84 ~950KHz

   P5OUT ^= BIT3;                        不执行//切换引脚5.3

   电脑控制器_ON;

   八伏打开;

 

 

以1.25Mhz 运行的 MSP。  P5OUT μ^=第一次不执行 BIT3   、                   

 

 

 

MSP 以950Khz 运行。 P5OUT P5OUT ^= BIT3已执行                

 

 

 

初始 时钟配置

 DCOCTL = 0x40;               //加快计算机速度

 BCSCTL1 = 0x85;              // 40-84 ~ 750KHz  --  40-85 ~1.25MHz --  a0-84 ~950KHz

 BCSCTL2 = 0x00;  

 

 

待机模式配置  

    DCOCTL = 0x00;                   //返回到低功耗模式

     BCSCTL1 = 0x80;                  //减慢计算机速度

 

 

µs 数据表、我们知道 MSP430至少需要6微秒才能从待机模式唤醒(在不到6 μ s 的时间内从待机模式唤醒)。

但是、我们希望 MSP 在尝试执行下一条指令之前准备就绪。

我们通过在 BCSCTL1 = 0x85之后添加一个"额外"命令;或者通过将 MSP430以950KHz 的速度减慢来解决这个问题。

这是预期的行为、还是这种情况还有其他问题?

 

谢谢、

 

让                  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jean、

    备份步骤以确保我们位于同一页、因为我在执行以下操作时遇到了一些问题:当您在本示例中说您将进入低功耗模式时-您将进入哪种低功耗模式- LPM3? 您是否使用 SCGx 位转至 LPM (例如__ bis_SR_register (LPM3_bits);)? 共享在 DCOCTL/BCSCTL1设置之间发生的代码可能有助于将其清除。  

    我看到您正在清除 DCOCTL 位、并将其注释为进入低功耗模式-但是、这不会将器件置于低功耗模式、而只是将 DCO 减慢。 此行是要将器件放入 LPM 中、还是要在之后使用另一行代码执行该操作? (这是查看更多代码可能有助于我们理解的地方)

    如果您尝试将器件置于低功耗模式、则此代码示例演示了如何转到 LPM3: https://dev.ti.com/tirex/explore/node?node=AC84.BwX-KmnCShGYaRcjQ__IOGqZri__LATEST 您无需修改时钟、只需设置适当的低功耗模式位即可。 您还可以在用户指南 www.ti.com/lit/pdf/slau049 的2.3操作模式部分中找到更多信息。

    或者、您将 DCOCTL 设置为非常低的速度是否有不同的原因?  

    此致、

    Katie 码头

    MSP WW 应用管理器

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Katie、  

    目前、我们没有使用任何低功耗模式(代码中的注释错误)、我们只需降低 DCO 的速度、然后再次将其加速。

    谢谢、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    似乎适用勘误表 BCL5、因为您以大于1的步长更改 RSEL。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢、David。 我按照勘误表说明操作,解决了我的问题。