Enviar 10 bits leidos de un adc al puerto serie

#1
Leyendo un adc de un pic16f874 de 10 bits, pero a la hora de enviar esa información al puerto serie mediante rs232, solo envio la parte alta, alguien sabe como hacer para enviar los 10 bits!

Gracias y saludos
 
#2
Si metes un ejemplo de lo que estás haciendo por ahora, mejor que mejor para entenderte, entendernos para poder poder ayudar.
 
#3
gracias por responder, estoy ocupando un pic16f874a y solo quiero tomar un valor de voltaje por medio del convertidor adc de 10 bits hacia la pc mediante rs232. me da la impresion que solo estoy mandando los primeros 8 bits y no se que ocurra con los otros 2 bits que complementan la cadena...
saludos espero me puedan ayudar muchachos!"!

unsigned int temp_res;

void main() {


ADCON1 = 0x80; // Configure analog inputs and Vref
TRISA = 0xFF; // PORTA is input

Usart_Init(2400);

do {
temp_res = Adc_Read(0); // Get results of AD conversion
Usart_Write(temp_res );
} while(1);
}
 
#4
Prueba con este codigo.

unsigned int temp_res;

void main() {
ADCON1 = 0x80; // Configure analog inputs and Vref
TRISA = 0xFF; // PORTA is input

Usart_Init(2400);

do {
char a=0;
temp_res = Adc_Read(0); // Get results of AD conversion
if(temp_res>=1000){
Usart_write('1');
temp_res-=1000;
}
if(temp_res>=100){
while(temp_res>=100){
temp_res-=100;
++a;
}
}
a+=48;
Usart_write(a);
a=0;
if(temp_res>=10){
while(temp_res>=10){
temp_res-=10;
++a;
}
}
a+=48;
Usart_write(a);
a=0;
temp_res+=48;
Usart_write(temp_res);
Usart_write(13);
Usart_write(10);
} while(1);
}
 

Temas similares

Arriba