gente estou com uma dúvida para implementar um código. será q poderiam me ajudar?
tenho esse código que enviar alguns dados via porta serial, depois de enviar esses dados eu fico no aguardo de uma resposta. Se essa resposta não chegar eu preciso enviar todo esse dado novamente...mas não estou conseguindo fazer isso. vejam...checksum = 0x10+0x01+0xFF+0xFE;
// aqui eu mando todo o frame de dados
tx(0x7E); //
tx(0x00); //
tx(length);//
tx(0x10); //
tx(0x01); //
tx(0x00); //
tx(0x00); //
tx(0x00); //
tx(0x00); //
tx(0x00); //
tx(0x00); //
tx(0x00); //
tx(0x00); //
tx(0xFF); //
tx(0xFE); //
tx(0x00); //
tx(0x00); //
for(int i = 0; i<tamanho; i++){
tx(dados[i]);
checksum = checksum + dados[i];
}
checksum = 0xFF - checksum;
tx(checksum); //
//Zera ponteiro
j=0;
while(j<11) {
while(!(IFG2&URXIFG1));// <<--espera chegar um dado. (aqui eu espero chegar a resposta para esse frame de dados.) O problemas está aqui pq ele vai ficar em looping esperando que chegue algo. Caso não chegue em 5 segs por exemplo ai eu volto td e mando novamente. Me ajudem please!
rxbuf[j] = U1RXBUF;
j++;
}