Не могу понять в чём проблема
- Войдите на сайт для отправки комментариев
Вс, 25/12/2016 - 19:36
#include <SPI.h> #include <Ethernet.h> #include "DHT.h" #define DHTPIN 2 //выбор используемого датчика #define DHTTYPE DHT11 byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // Мак адрес byte ip[] = { 192, 168, 1, 177 }; // IP адрес (В броузере вводим 192.168.0.2) EthernetServer server(80); int numPins = 2; int pins[] = { 3, 4, }; // Пины для реле int pinState[] = {0, 0 }; // Состояние реле const int button1Pin = 11; // Пины кнопок const int button2Pin = 12; int button1State = 0; int button2State = 0; DHT dht(DHTPIN, DHTTYPE); void setup() { // Изначально выключаем все реле for (int i = 0; i < numPins; i++) { pinMode(pins[i], OUTPUT); digitalWrite(pins[i], 1); pinMode(button1Pin, INPUT); pinMode(button2Pin, INPUT); } Serial.begin(9600); Ethernet.begin(mac, ip); server.begin(); dht.begin(); } void loop() { float h = dht.readHumidity(); float t = dht.readTemperature(); button1State = digitalRead(button1Pin); button2State = digitalRead(button2Pin); if (button1State == HIGH) { digitalWrite(pinState[1], HIGH) } else { digitalWrite(pinState[1], LOW) } if (button2State == HIGH){ digitalWrite(pinState[2], HIGH) } else { digitalWrite(pinState[2], LOW) } //здесь проблема. expected ';' before '}' token EthernetClient client = server.available(); if (client) { // Проверяем подключен ли клиент к серверу while (client.connected()) { // Проверяем идет ли запрос к серверу int dataCount = client.available(); if (dataCount > 0) { // Считываем данные передаваемые серверу с клиента (броузера) for (int i = 0; i < dataCount; i++) { char ch = client.read(); // Если данные передаются, то они будут переданы POST запросом, который начинается с символа 'P' if (i == 0 && ch != 'P') break; if (ch == '\n' && i < dataCount - 1) { // Находим строку, в которой содержатся передаваемые данные char chNext = client.read(); // Формат строки r2=on&r3=on&r4=on (Пример если нужно включены 2,3,4 реле) if (chNext == 'r') { // Выключаем все реле pinState[1] = 0; pinState[2] = 0; // Считываем первый номер реле, который нужно включить char relayNum = client.read(); pinState[relayNum-'0'] = 1; Serial.write(relayNum); // Считываем вспомогательную информацию (=on&) relayNum = client.read(); relayNum = client.read(); relayNum = client.read(); relayNum = client.read(); // Пока есть данные об остальных реле, считываем и заносим в массив pinState while (relayNum != -1) { relayNum = client.read(); relayNum = client.read(); pinState[relayNum-'0'] = 1; Serial.write(relayNum); relayNum = client.read(); relayNum = client.read(); relayNum = client.read(); relayNum = client.read(); } } else { // Если не было передано данных, то выключаем все реле pinState[1] = 0; pinState[2] = 0; } } } } // В соответствие с переданными данными включаем реле for (int i = 0; i < 4; i++) { digitalWrite(pins[i], !pinState[i]); } // Выводим HTML страницу, на которой пользователь может включить или выключить нужные ему реле client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println(); client.println("<html>"); client.println("<head>"); client.println("<title>Relay module.</title>"); client.println("</head>"); client.println("<body>"); client.println("<h3>Relay module.</h3>"); client.println("<form method='post'>"); client.print("<div>Relay 1 <input type='checkbox' "); if (pinState[1] == 1) client.print("checked"); client.println(" name='r1'></div>"); client.print("<div>Relay 2 <input type='checkbox' "); if (pinState[2] == 1) client.print("checked"); client.println(" name='r2'></div>"); client.print("<H1>temp</H1>"); client.print("<H2>"); client.print(t); client.print("</H2>"); client.print("<H1>vlaga</H1>"); client.print("<H2>"); client.print(h); client.print("</H2>"); client.println("<input type='submit' value='ok'>"); client.println("</form>"); client.println("</body>"); client.println("</html>"); client.stop(); } } }
Как говорилось в известной рекламе: "Вот, и я не смогла" :((((
Не хотите написать, в чём проблема-то?
UPD: О!!! Спасибо Архату, он не поленился вычитать код и найти в середине комментарий о сути проблемы (то, что автор поленился нормально описать вне кода).
ТС, хотите я открою Вам маленький секрет большого программирования? Вы пишете, что Ваша проблема
//здесь проблема. expected ';' before '}' token
так вот, когда проблема состоит в том, что перед '}' ожидается ';', то для её решения нужно поставить ';' перед '}'. Вы не пробовали? Попробуйте.
Так автор ужеж отписался что не в состоянии понять в чем она .. как же он отпишется? А как же Хрустальные Шары форумчан, опять батарейки подсели? :)
Мой ХШ подсказывает что проблема с переводом сообщения компилятора: "
//здесь проблема. expected ';' before '}' token
" :)