Bom dia.
Se alguém me poder dar uma ajuda num programa em c# agradeço.
Já estive este
http://www.2shared.com/file/2Vykgnrr/12-12-2010.html programa a trabalhar (recebia e enviada os offset) a umas semanas traz e agora não sei porque carga de agua não funciona. Principalmente quando toca a ler os lados da porta serie.
A comunicação é feita por Xbee da seguinte maneira.
Cada Offset tem um endereço (vai de 50 a 57) e cada vez que o quero alterar envio o endereço e o valor. O pic recebe e faz o tratamento.
Quando pretendo ler os valores clico em "ler_OFFSET" é enviado ao pic "60"endereço e "99"variavel de apoio. o pic ao receber o endereço "60" vai enviar todos os valores de offset que tem em memoria.
vai um excerto do codigo do pic
...
while ( BusyUSART() );
while ( !DataRdyUSART() );
getsUSART(mensagem,2); // endereço
mensagem[2]='\0';
aux1 = atoi (mensagem);
while ( BusyUSART() );
while ( !DataRdyUSART() );
getsUSART(valor,2); // dados
valor[2]='\0';
aux2 = atoi (valor);
...
if (aux1 == 50) // se o endereço recebido for 50
{strcpy(OFSx,valor); // os dados recebidos alteram o valor do offset de x do acelerometro
// ("copiei a string");
}
else if (aux1 == 51) // se o endereço recebido for 51
{strcpy(OFSy,valor); // os dados recebidos alteram o valor do offset de y do acelerometro
}
...
else if (aux1 == 60) // se o endereço recebido for 60 significa que se pretende ler todos os offset
{
TRANSMITE (adr_offset);
TRANSMITE(OFSx);
TRANSMITE(OFSy);
TRANSMITE(OFSz);
TRANSMITE(GYx);
TRANSMITE(GYy);
TRANSMITE(GYz);
TRANSMITE(KP);
TRANSMITE(KD);
}
Obrigado pela ajuda desde já