资讯详情

为什么bme280.startreadout()只触发一次?

我在用带NodeMCU固件的ESP-12F(ESP8266)模块启用BME280模块 . 我通过手动查询温度和湿度来测试传感器,一切都很好 .

现在,我想用 bme280.startreadout(...) 函数定期将值发送到我的服务器(或者现在只需打印它们ESPlorer串行终端) . 以下代码不会抛出任何错误,但回调函数只运行一次 - 有人能告诉我为什么会这样吗?

bme280.init(7, 6, nil, nil, nil, 0)

bme280.startreadout(2000, function ()

T = bme280.temp()

print(string.format("T=%d.d", T/100, T0))

end)

当我将脚本发送到模块并运行它时,正确的温度出正确的温度。就是这样 .

以下是一些关于固件的详细信息:

NodeMCU custom build by frightanic.com

branch: dev

commit: 79013ae79a85798cba470ac1168e75c755f58f42

SSL: true

modules: adc,adxl345,am2320,apa102,bme280,crypto,dht,file,gpio,hmc5883l,http,i2c,l3g4200d,mqtt,net,node,ow,pwm,spi,tmr,tsl2561,uart,websocket,wifi

build built on: 2016-12-05 17:30

powered by Lua 5.1.4 on SDK 1.5.4.1(39cb9a32)

Update: 以前没想过:是的 startreadout 只是为了触发回调函数一次?还是使用?JavaScript术语表示它是否像 setTimeout 同样的工作而不是 setInterval ?

标签: bme280湿度传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台