我试图使用ESP8266 SoC读取水流量传感器,据说产生方波作为输出。我认为在中断模式下使用GPIO端口来计算上升沿转换是一件简单的事情 - 实际上最初似乎有效。然后我将固件从0.96升级到1.5并且它已经停止工作,我看到当轮子旋转时没有转换。
但是,如果我将引线连接到引脚[用于GPIO我正在使用]并立即将其触摸到VCC,则会按预期调用中断程序,因此我知道传感器连接到右引脚,并正确注册中断例程。我的代码:
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)
那我错过了什么?我需要更多支持电路来读取方波作为输入吗?如果是的话那么它最初是如何运作的?
答案 0 :(得分:2)
对于涉及硬件的任何事情,很难在SO上给出一个明确的答案。在大多数情况下,一个基于提示(有时是预感)。一些想法:
gpio.FLOAT
可能应该是gpio.PULLUP
(除非你有一个外部上拉电阻)。up
和down
之间切换时),您也可以倾听{{1} ,不?所以,假设我得出了正确的结论,可能会证明以下generic skeleton有用:
both
答案 1 :(得分:1)