Olá pessoal, sou recém chegado ao Forum. Estou precisando de ajuda. Estou tendo dificuldades em implementar uma comunicação serial para poder concluir o meu TCC. O projeto consiste basicamente em um contador de pulsos onde este valor totalizado, qdo solicitado será enviado pela serial via RF. O total é composto p/ 5 dígitos EX.: 12345 e possui um endereço composto por 2 letras e 4 nº. Ex.: AA0000, este endereço é envido ao totalizador por RF, sendo confirmado este end. é enviado o valor totalizado. Qdo eu envio somente a 1ª letra do end. recebo o total, e qdo envio 0s demais não recebo o total. Estou enviando uma parte do programa. Obs.: Só sei +/- trabalhar com Mikroc. Se alguém puder me ajudar agradeço
Elziro Botelho
do {
if (Ps2_Key_Read(&dados, &especial, &down)) { //Foi pressionada alguma tecla?
if (down && (dados == 1)) trata_cursor(); //Sim, verifica se foi F1, caso verdadeiro
if (down && (dados == 2)) trata_fator(); //Sim, verifica se foi F2, caso verdadeiro
}
if (down && dados) { //Se foi selecionado um caracter alfa numérico
trata_teclado(); // e no LCD estiver a tela 1 Chama Sub-Rotina trata_teclado
}
atualiza_lcd();
x=0;
if (Usart_Data_Ready()==1) {
rx_endereco(); }
}
while(1); // Loop
}
void rx_endereco() {
char *apontador_rx=&end0_rx;
if (Usart_Data_Ready()==1) {
do {
if (Usart_Data_Ready()==1) {
*apontador_rx=Usart_Read();
*apontador_rx++;
} }
while(*apontador_rx != '\0');
}
if (end0==end0_rx) {
//&& (end1==end1_rx)&& (end2==end2_rx)&& (end3==end3_rx)&&
//(end4==end4_rx)&& (end5==end5_rx)) {
Usart_Write(dzml);
Delay_ms(10);
Usart_Write(ml);
Delay_ms(10);
Usart_Write(ct);
Delay_ms(10);
Usart_Write(dz);
Delay_ms(10);
Usart_Write(un);
Delay_ms(10);
} }