我就是这样做的arduino
analogWrite(pin1,1023);
digitalWrite(pin2,HIGH);
delay(1500);
analogWrite(pin1,0);
digitalWrite(pin2,LOW);
如何在js for mongoose os中编写相同的代码?
我希望数字输出的pin1低至1000毫秒,然后高至状态。改变
我尝试在mongoose os中使用timer.set
pin2是模拟
function valveOC() {
if (state.on === false) {
Timer.set(1000, false, function() {
GPIO.write(pin1, 0);
PWM.set(pin2, 50, 100);
print(value ? 'Tick' : 'Tock');
}, null);
}
if (state.on === false) {
Timer.set(1000, false, function() {
GPIO.write(pin1, 1);
PWM.set(pin2, 50, 100);
}, null);
}
}
答案 0 :(得分:1)
首先,您必须知道Mongoose OS中的计时器功能:
Timer.set(毫秒,重复,处理程序)
设置计时器,以毫秒超时和处理程序作为回调。如果repeat设置为true,则呼叫将无限期重复,否则它将是一次性的。 返回值:数字计时器ID。
Mongoose OS中的延迟等效(1000)是: Sys.usleep(microsecondes)
您的代码将变为:
if (state.on === false) {
Sys.usleep(1000000);
GPIO.write(pin1, 0);
PWM.set(pin2, 50, 100):
}
if (state.on === false) {
Sys.usleep(1000000);
GPIO.write(pin1, 1);
PWM.set(pin2, 50, 100);
}
中查看更多详情