NANO进入睡眠模式OLED还一直亮着

2025-11-201273
AI 快速预览详细 收起
本文讨论了如何在Arduino NANO进入睡眠模式时关闭OLED显示的问题。通过设置SLEEP_MODE_PWR_DOWN并禁用ADC,可以确保NANO进入深度睡眠模式,从而关闭OLED。具体代码示例包括设置睡眠模式、禁用ADC以及恢复操作。
NANO进入睡眠模式OLED还一直亮着,确定已经进入睡眠模式了。

  1. inline void goToSleep(){
  2.         set_sleep_mode(SLEEP_MODE_PWR_DOWN);
  3.         sleep_enable();
  4.         ADCSRA &=~(1<<ADEN);
  5.         power_all_disable();
  6.         sleep_mode();
  7.         sleep_disable();
  8.         power_all_enable();
  9.         ADCSRA |=(1<<ADEN);
  10. }
复制代码

NANO进入睡眠模式OLED还一直亮着,怎么关掉呢?

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
iheaing
iheaing
作者
OLED有自己的电源管理,再加个函数如下:
[code]inline void turnOLED(int hexVAL){
Wire.beginTransmission(SH1106_I2C_ADDRESS);
Wire.write(0x00);
Wire.write(hexVAL); // 0xAE OFF display, 0xAF ON
Wire.endTransmission();
}
void loop() {
turnOLED(SH1106_DISPLAYOFF);
goToSleep();
turnOLED(SH1106_DISPLAYON);
}[/code]
DFEDU
DFEDU回复iheaing
现在是否可以控制了?
- 没有更多了 -