完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我将我的 YF-S201 流量计连接到我的 Arduino Uno 并让它工作正常。
然后,我使用 LoLin 的 ESP8266 NodeMCU V3 开发板复制了代码。 我修改了添加 ICACHE_RAM_ATTR 的中断函数。 代码运行正常,但即使仪表旋转,我现在也只得到“0”值。 我需要修改原始 Arduino Uno 代码中的其他内容才能使其正常工作吗? 代码如下: 谢谢 代码:全选volatile int flow_frequency; // Measures flow meter pulses unsigned int l_hour; // Calculated litres/hour unsigned char flowmeter = D2; // Flow Meter Pin number unsigned long currentTime; unsigned long cloopTime; void ICACHE_RAM_ATTR flow () // Interrupt function { flow_frequency++; } void setup() { pinMode(flowmeter, INPUT); Serial.begin(9600); attachInterrupt(0, flow, RISING); // Setup Interrupt // see sei(); // Enable interrupts currentTime = millis(); cloopTime = currentTime; } void loop () { currentTime = millis(); // Every second, calculate and print litres/hour if(currentTime >= (cloopTime + 1000)) { cloopTime = currentTime; // Updates cloopTime // Pulse frequency (Hz) = 7.5Q, Q is flow rate in L/min. (Results in +/- 3% range) l_hour = (flow_frequency * 60 / 7.5); // (Pulse frequency x 60 min) / 7.5Q = flow rate in L/hour flow_frequency = 0; // Reset Counter Serial.print(l_hour, DEC); // Print litres/hour Serial.println(" L/hour"); } } |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
358 浏览 0 评论
1202 浏览 1 评论
590浏览 6评论
484浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
468浏览 5评论
467浏览 4评论
445浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-30 11:26 , Processed in 0.792615 second(s), Total 46, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号