嵌入式学习小组
直播中

爱与友人

10年用户 1065经验值
擅长:可编程逻辑 模拟技术 存储技术
私信 关注

M031如何关闭WDT内部时钟?

                                                ADC_POWER_DOWN(ADC);
                                                UART_Close(UART0);
                                                UART_Close(UART1);
                                                UART_Close(UART2);
                                                UART_Close(UART3);
                                                UART_Close(UART4);
                                                UART_Close(UART5);
                                                UART_Close(UART6);
                                                UART_Close(UART7);
                                                tiMER_Close(TIMER0);
                                                TIMER_Close(TIMER1);
                                                TIMER_Close(TIMER2);
                                                TIMER_Close(TIMER3);

                                                I2C_Close(I2C0);
                                                I2C_Close(I2C1);
                                                Pwm0Out_Disable();
                                                Pwm1Out_Disable();
                                                
                                                CLK_PowerDown();   //立即进入休眠状态 电流是15mA 左右,好像没有进入低功耗状态



Low Power Sleep mode entry using the Wait For Interrupt (WFI), Wait For Event (WFE) instructions, or return from interrupt sleep-on-exit feature

我现在的电流是82.5uA 理论上应该是16uA 左右
需要关闭哪些

M031 如何关闭WDT 内部时钟



回帖(1)

苹果派派

2024-1-8 11:50:33
要关闭M031的WDT内部时钟,可以使用以下代码:

```c
// 禁用WDT时钟
SYS_UnlockReg(); // 允许对系统配置寄存器写入
WDT_DISABLE(WDT); // 禁用WDT
SYS_LockReg(); // 禁止对系统配置寄存器写入
```

上述代码中的`WDT_DISABLE(WDT)`为禁用WDT功能的宏定义,需要在程序中进行定义或引用。

除了禁用WDT时钟,还可以在使用ADC时将其设置为power down模式,也可以关闭WDT。具体代码如下:

```c
ADC_POWER_DOWN(ADC); // 将ADC设置为power down模式
```

在ADC使用完毕后,也应当调用`ADC_POWER_DOWN(ADC)`函数以关闭ADC并使其进入power down模式。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分