Тема: w5100 -
Здравствуйте.
Вот часть стандартного скетча с использованием библиотеки Ethernet.h для работы с w5100:
void loop() {
// прослушиваем входящих клиентов:
EthernetClient client = server.available();
if (client) {
Serial.println("new client"); // "новый клиент"
memset(linebuf,0,sizeof(linebuf));
charcount=0;
// HTTP-запрос заканчивается пустой строкой:
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
// здесь обрабатываем входящий http-запрос
}
}
// даем веб-браузеру время на получение данных:
delay(1);
// закрываем соединение:
client.stop();
Serial.println("client disonnected"); // "Клиент отключен"
}
}
Я ещё ничего не собирал, лишь знакомлюсь с теорией. Помогите мне понять:
1. Одна петля проходит очень быстро. Но если мы используем в коде библиотеку "Ethernet" , то я вижу как минимум задержку в одну секунду. Я не могу понять - то есть если в скетче будет ещё функционал обработки состояния кнопок, то он будет не рабочим - так как всё основе время процесс будет в состоянии - delay(1); ? По крайней мере я вижу это так - если нажали на кнопку , а котроллер в это время занят обработкой http-запроса, то есть он тупо не увидет нажатие кнопки. Я прав?
2 В интернете много скетчей на развёртывание вебсервера на ардуине. Дайте пожалуйста ссылку на простой и понятный скетч , в котором ардуино сможет делать GET или POST-запросы к другому серверу в локальной сети.
Заранее спасибо.