Enviado em 26/02/2015 - 17:10h
Olá galera.
Mais uma vez eu com duvida aqui no forum.
Tenho a seguinte situação:
3 placas slave
1 placa master
As três placas Slave possue um DIP(chave) de oito digitos onde corresponde ao endereço de cada placa.
Fiz o comando que envia a informação para cada uma delas separadamente e recebe tudo certinho. No entanto
nem tudo é maravilha pode ocorrer de uma dessas placas se queimar nesse caso o meu software para de enviar
as informações. veja o exemplo:
solicitando informações a placa 1
informações recebidas
solicitando informações a placa 2 (queimada)
informações não recebidas
O software para e não envia a informação para a placa 3 pois ele fica esperando resposta da placa 2
Eu já tentei de todas as formas verificar se a informação chegou ao destino e se o destino existe.
Tentei de varias formas resolver isso mas não consegui se alguem tiver uma ideia de como fazer me ajudaria
bastante.
O legal seria ele tentar por x tempo se não tiver resposta voltar novamente e tentar por x tempo e voltar de novo
e nessa ultima tentativa ele pularia para a proxima placa assim mesmo que a segunda esteja queimada ou com erro na rede
não prejudicaria o resto do processo.
Estou usando C++ no Debian para beaglebone revision C, para me comunicar utilizo as saidas uart do PC e
para escrever na uart estou utilizando as funções
write() e Read()
Desde já grato pela ajuda de vocês e do Viva o linux.
Mais uma vez eu com duvida aqui no forum.
Tenho a seguinte situação:
3 placas slave
1 placa master
As três placas Slave possue um DIP(chave) de oito digitos onde corresponde ao endereço de cada placa.
Fiz o comando que envia a informação para cada uma delas separadamente e recebe tudo certinho. No entanto
nem tudo é maravilha pode ocorrer de uma dessas placas se queimar nesse caso o meu software para de enviar
as informações. veja o exemplo:
solicitando informações a placa 1
informações recebidas
solicitando informações a placa 2 (queimada)
informações não recebidas
O software para e não envia a informação para a placa 3 pois ele fica esperando resposta da placa 2
Eu já tentei de todas as formas verificar se a informação chegou ao destino e se o destino existe.
Tentei de varias formas resolver isso mas não consegui se alguem tiver uma ideia de como fazer me ajudaria
bastante.
O legal seria ele tentar por x tempo se não tiver resposta voltar novamente e tentar por x tempo e voltar de novo
e nessa ultima tentativa ele pularia para a proxima placa assim mesmo que a segunda esteja queimada ou com erro na rede
não prejudicaria o resto do processo.
Estou usando C++ no Debian para beaglebone revision C, para me comunicar utilizo as saidas uart do PC e
para escrever na uart estou utilizando as funções
write() e Read()
Desde já grato pela ajuda de vocês e do Viva o linux.