0

我正在使用 ESP32。我正在使用 GPIO 2 上的内置 LED。我想读取引脚的电平。

let led = 2;
GPIO.set_mode(led, GPIO.MODE_OUTPUT);
GPIO.write(led, 0);
Timer.set(1000, true, function(){
print(GPIO.read(led)==0);
 if (GPIO.read(led)==0){
GPIO.write(led, 0);
 }
else{
GPIO.write(led, 1);
 }}, null);

尽管 LED 灯亮,但打印语句仅在控制台上打印“0”。代码有什么问题,为什么 GPIO.read() 不能正常工作?

4

1 回答 1

0

gpio.read() 因此无法读取输出引脚的状态

我通过从 init.js 中的“mgos_gpio.h”导入 ac 函数来解决这个问题。在 main.c 中,导入“mgos_gpio.h”并在 init.js 文件中,我使用以下代码-

let readPinVal = ffi('bool mgos_gpio_read_out(int)');
let pinStatus = readPinVal(pinNo);
于 2020-03-03T17:38:25.877 回答