工具与软件:
您好!
我正在尝试通过以下行将器件(MSPM0G3507)置于低功耗模式:

在将器件置于睡眠模式之前、我还需要禁用相应的外设、以在睡眠模式下保持3uA 的功耗。
我编写了以下代码、以保持3uA 的消耗。


所以、我的问题是:在进入低功耗模式的同时、是否有必要对外设执行所有这些设置? 还是做错了事。
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.
工具与软件:
您好!
我正在尝试通过以下行将器件(MSPM0G3507)置于低功耗模式:

在将器件置于睡眠模式之前、我还需要禁用相应的外设、以在睡眠模式下保持3uA 的功耗。
我编写了以下代码、以保持3uA 的消耗。


所以、我的问题是:在进入低功耗模式的同时、是否有必要对外设执行所有这些设置? 还是做错了事。
是否使用 syscfg? (系统配置工具)
如果您使用 syscfg、则可以直接复位所有外设、如下所示:
DL_GPIO_reset(GPIOA);
DL_GPIO_reset(GPIOB);
DL_MCAN_reset(MCAN0_INST);
唤醒后、调用 syscfg generated 函数来 配置所有外设:
SYSCONFIG_WEAK void SYSCFG_DL_init(void)
{
SYSCFG_DL_initPower();
SYSCFG_DL_GPIO_init();
/* Module-Specific Initializations*/
SYSCFG_DL_SYSCTL_init();
SYSCFG_DL_MCAN0_init();
SYSCFG_DL_SYSCTL_CLK_init();
}
此致、
Helic
你好、 Helic、
但我们观察到、 对于不同的外设、我们需要执行自定义代码。 例如
/*睡眠 I2C_0*/
DL_I2C_disableController (I2C_0_INST);
DL_GPIO_initPeripheralInputFunctionFeatures (GPIO_I2C_0_IOMUX_SDA、
GPIO_I2C_0_IOMUX_SDA_FUNC、DL_GPIO_INVERSION、
DL_GPIO_RESISTOR_PULL_DOWN、DL_GPIO_HYSTERESIS_DISABLE、
DL_GPIO_WAKEUP_DISABLE);
DL_GPIO_initPeripheralInputFunctionFeatures (GPIO_I2C_0_IOMUX_SCL、
GPIO_I2C_0_IOMUX_SCL_FUNC、DL_GPIO_INVERSION DISABLE、
DL_GPIO_RESISTOR_PULL_DOWN、DL_GPIO_HYSTERESIS_DISABLE、
DL_GPIO_WAKEUP_DISABLE);
/*睡眠 SPI_1*/
DL_GPIO_initPeripheralOutputFunction (
GPIO_SPI_1_IOMUX_SCLK、DL_GPIO_RESISTOR_PULL_DOWN);
DL_GPIO_initPeripheralOutputFunction (
GPIO_SPI_1_IOMUX_PICO、DL_GPIO_RESISTOR_PULL_DOWN);
DL_GPIO_initPeripheralInputFunction (
GPIO_SPI_1_IOMUX_POCI、DL_GPIO_RESISTOR_PULL_DOWN);
/*睡眠 UART_0*/
DL_UART_Main_disable (UART_0_INST);
DL_GPIO_initPeripheralInputFunction (
GPIO_UART_0_IOMUX_RX、IOMUX_PINCM22_PF_UNCONNECTED);
DL_GPIO_initPeripheralInputFunction (
GPIO_UART_0_IOMUX_TX、IOMUX_PINCM21_PF_UNCONNECTED);
这是必需的、否则我们将出错。 或者是否有任何捷径?