Ich versuche ein ESP8266 SoC zu verwenden, um einen Wasserflusssensor zu lesen, der eine Rechteckwelle als Ausgabe erzeugen soll. Ich dachte, es wäre eine einfache Sache, einen GPIO-Port im Interrupt-Modus zu verwenden, um steigende Kantenübergänge zu zählen - und tatsächlich schien das anfänglich zu funktionieren. Dann habe ich die Firmware von 0.96 auf 1.5 hochgerüstet und es hat seitdem aufgehört zu arbeiten, ich sehe keine Übergänge, wenn das Rad nicht mehr dreht.Probleme beim Interpretieren einer Rechteckwelle
Wenn ich jedoch eine Leitung zum Pin [für den GPIO, den ich benutze] führe und ihn kurzzeitig an VCC berühre, wird die Interrupt-Routine wie erwartet aufgerufen, daher weiß ich, dass der Sensor mit dem rechten Pin verdrahtet ist. und die Interruptroutine wird korrekt registriert. Mein Code:
function intCb(level)
SpinCount = SpinCount + 1
local levelString = "up"
if level == gpio.HIGH then
levelString = "down"
end
gpio.trig(pin, levelString, intCb)
end
gpio.write(pin, 0)
gpio.trig(pin, "up", intCb)
gpio.mode(pin, gpio.INT, gpio.FLOAT)
Also was vermisse ich? Benötige ich mehr Unterstützung, um eine Rechteckwelle als Eingabe zu lesen? Wenn ja, wie hat es anfangs funktioniert?
Froh, dass Sie das behoben haben. –