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

Exibições: 431

Responder esta

Respostas a este tópico

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);

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço