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.
大家好、
以下是客户可能需要您的帮助的问题:
我想知道这是否可能适用于以下情况。
1.将 I2C 设置为控制器模式400k 并与目标器件进行通信。
2.完成后,做
DL_I2C_disablePower(I2C_INST) DL_I2C_disableController(I2C_INST); DL_SYSCTL_setPowerPolicySTANDBY0(); __WFI(); //wak up from GPIO DL_SYSCTL_setPowerPolicyRUN0SLEEP0(); DL_I2C_ensablePower(I2C_INST) DL_I2C_enableController(I2C_INST);
它似乎无法正常工作。 我怎么能在醒来后再复活?
--
谢谢、此致
你好,耶鲁,
客户只需设置一次所需的电源策略,然后再执行__WFI ();
例如,要使用 STANDBY0模式,客户将调用 DL_SYSCTL_setPowerPolicySTANDBY0 (); 然后,要实际进入此模式,将调用__WFI ()宏。 只要系统中存在使能中断、例如 I2C_STARTBIT 中断、CPU 就会保持在 STANDBY0状态、直到计时器中断发生。 当中断发生时、CPU 进入运行模式、跳转到中断服务例程、然后在完成时返回。 此时您有2个选项;一个是返回 STANDBY0模式或继续执行__ WFI ()之后的代码。 在这种情况下、您希望执行后面的代码、因此默认情况下不需要执行任何操作。
在您的示例中的_WFI ()后,您不会更改电源策略,因此只需删除行9。