Pessoal,
Estou fazendo um projeto usando o W5100. Preciso que o software reconheça se o shield está presente, se o cabo de rede está conectado, etc... Estou tentando usar a função Ethernet.begin(mac) para isso e não estou tendo resultado.
Ocorre que, quando o arduino está sem o shield ou com o cabo desconectado, o programa fica tentando obter o retorno dessa função e trava fica eternamente tentando buscar o IP.
Quando o cabo esta conectado ele funciona normalmente.
Existe alguma função nesta biblioteca que eu possa testar isso?
o código que eu estou usando esta assim, no setup()
if (Ethernet.begin(mac) == 0) {
Serial.println("Falha de busca");
} else {
Serial.println("Sucesso");
}
Agradeço qualquer ajuda.
Zé Roberto
Tags:
por que vc não usa um simples ping alvejando o arduino+ethernet shield?
edit: lendo melhor sua dúvida, eu estive aqui tentando imaginar o que vc realmente quer... por acaso vc quer que o sketch do arduino detecte se o shield está devidamente conectado à rede? é isso? Ou vc quer que um software externo detecte a presença do arduino + ethernet shield na sua rede?
Isso mesmo, Quando o cabo está desconectado o comando (Ethernet.begin(mac)) demora muito pra responder o valor 0 9zero) eu coloquei um teste aqui, e essa demora é muito inconstante, chegando em alguns casos a 10 minutos.
Li na net que um cara alterou o parametro abaixo no arquivo dhcp.h mas não resolveu:
era 60000 e eu coloquei 10000 como a sugestão que eu li.
int beginWithDHCP(uint8_t *, unsigned long timeout = 10000, unsigned long responseTimeout = 4000);
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por