nanoFramework ESP32 用键盘睡觉后不醒来

nanoFramework ESP32 Not waking up after sleep with Keypad

我正在做一个带有数字小键盘的项目,这是一个在 nanoFramework 中编程的 ESP32(CoreLibrary 1.9.0 p5,Esp32 1.3.2 p9)。 现在我想通过按下其中一个按钮来唤醒控制器。 用于处理矩阵的代码工作正常,按钮响应迅速且有效:

var row4 = controller.OpenPin(32);
row4.SetDriveMode(GpioPinDriveMode.Output);
...
var col3 = controller.OpenPin(12);
col3.SetDriveMode(GpioPinDriveMode.InputPullDown);

在睡觉之前,我重新定义了驱动模式,将一个引脚设置为 3.3V:

Sleep.EnableWakeupByPin(Sleep.WakeupGpioPin.Pin32, 1);
col3.SetDriveMode(GpioPinDriveMode.OutputOpenDrainPullUp);
Sleep.StartLightSleep();

所以 ESP32 按预期进入睡眠状态,但我无法用 pin 32 唤醒它。

我尝试过的:

管脚编号符合 Espressif 文档。除非应用程序使用,否则您无需在调用 EnableWakeupByPin 之前配置 GPIO 引脚。

我已经对此进行了测试,看起来 Sleep.EnableWakeupByPin() 无法正常工作。我们会调查原因并修复它。

尝试使用 Sleep.EnableWakeupByMultiPins()。我已经测试过,并且有效。

Sleep.EnableWakeupByMultiPins(Sleep.WakeupGpioPin.Pin32, Sleep.WakeupMode.AnyHigh);