【发布时间】:2017-03-27 11:25:39
【问题描述】:
我的基于 ESP8266 的 NodeMCU 中有以下功能代码:
snprintf ( temp, 800,
"<html>\
<head>\
<meta http-equiv='refresh' content='25'/>\
<title>NodeMCU DHT11 Sensor \and Relay Board</title>\
<style>\
body { background-color: #cccccc; font-family: Arial, Helvetica, Sans-Serif; Color: #000088; }\
li { margin: 10px 0;}\
</style>\
</head>\
<body>\
<h1>Hello from NodeMCU!</h1>\
<p>Temperature: %02d ℃<br>\
Humidity: %2d %<br></p><ol>\
<li><a href='/control?relay=5&state=%d'>Turn Relay 1 On\/Off</a>\
<li><a href='/control?relay=4&state=%d'>Turn Relay 2 On\/Off</a></ol>\
<p> Uptime: %02d:%02d:%02d </p>\
</body>\
</html>",
t, h, !digitalRead(5), !digitalRead(4), hr, min % 60, sec % 60
);
我希望能够根据来自digitalRead(5) 的 pin 状态将文本替换为关闭,反之亦然。所以我不必编写打开/关闭继电器 1,而是应该使用 digitalRead(pinNum) 获取状态并根据状态设置文本打开或关闭。
【问题讨论】:
-
简单的事情可能是使用三元运算符将正确的字符串作为参数传递给 snprintf:
digitalRead(5) ? "on" : "off" -
我会使用什么格式?
%c!