Galera preciso da Ajuda de vocês mais uma vez. não sei se neste forum algum dos colegas trabalham com computação embarcada eu estou iniciando nessa area e estou com uma duvida. Eu utilizo a UART da beaglebone black para Transmitir os dados em uma rede RS485, para enviar esses dados utilizo a função WRITE da biblioteca termios.h só que esta acontecendo um problema. Eu envio e recebo os dados normalmente ou seja a comunicação esta ocorrendo no entanto a função Write esta com um delay segurando o envio dos dados por 10 ms assim as informações que eram para ser recebidas não chegam até a uart. No outro ponto da rede eu uso um processador MSP para receber os dados fiz uma gambiarra dando um delay no processador para aguardar o tempo da função write no entando terei que atualizar todas as placas que estão em produção.
O grafico em amarelo representa a rs485 com canal aberto para transmissão de dados o grafico em azul é a transmissão de dados, os dados terminão de ser transmitidos mas a write continua ativa segurando ativo o canal de envio. Assim a MSP responde normalmente mas como o canal de recebimento da beaglebone não esta ativa estas informações se perdem na rede. A programação esta da seguinte forma:
POUT(49,1); // ativa a RS485 para transmissão dos dados
write(pt2,enviadadosgrav2,8); // Função enviando um vetor de 8 posições para a rede
POUT(49,0); //Desativa a transmissão habilitando a recepção dos dados
Galera quem puder me ajudar serei grato. Desde já muito obrigado a todos do VOL.