Programación Específica > Microcontroladores

 Problemas Con El 16f87

<< < (3/4) > >>

lalo_soft:
No tiene nada que ver el hecho de que la computadora no este corriendo el programa que le el dato que envias, tienes un error de concepto. Al encender el micro y si la rutina de transmision esta en la secuencia inicial de trabajo de tu programa la ejecuta y transmite el dato.Para conserguir lo que creo que esperas ,es escribir y ejecutar primero una rutina que cheque la recepcion de un dato ,para despues transmitir hacia el PC.

Al encerder el pic este debe esperar y luego Transmitir.
El Pc es que debe transmitir primero,no el PIC.

ijfa:
Hola ....te paso mi programa de prueba que tengo...ojala te sirva....esta en C...con el compilador CC5X....y funciona!!! 100% comprobado....aki va


--- Código: Text ---//------------------ Programa test RS232 -----------------------// El PIC envia un mensaje se saludo el cual se puede visualizar// a través del Hiperterminal de Windows//--------------------------------------------------------------- char data[20];void enviar_msg(){    char j;    data[0]=0x48; // H    data[1]=0x4f; // O    data[2]=0x4c; // L    data[3]=0x41; // A    data[4]=0x0d; // CR - control de carro    data[5]=0x0a; // LF - line feed    j=0;    while(1)    {        while(1) // Espera a que se vaya el dato        {            if(TXIF==1) break; // Cuando TXIF=1 se fue        }        TXREG=data[j]; // Envia el dato almacenado en data[j]        j++;        if(j==5) break; // Despues de enviar el ultimo parte de cero        TXIF=0;    }} void main(){// Se programan los bit correspondientes, el de TX y RX// corresponden la PORTC.B7 y PORTC.B6 respectivamente// el primero como salida y el segundo como entrada. TRISC=0x80; // 10 00 0000SPBRG=255; // 1200 8 N 1TXSTA=0x20;RCSTA=0x90;PIR1= 0x30; //HABILITA LA BANDERA QUE INFORMA QUE REGISTRO DE TX ESTA VACIO!!! while(1)    {    enviar_msg();    }}  
Espero te sirva...saludos :hola:

karen81:
:) Gracias ijfa por tomarte el tiempo pero yo de C no se nada y menos de cc5x, y con respecto a lo anterior lo mismo me hace el pic a la hora de recibir se sale de la rutina de recepcion y ni siquiera le he mandado el dato por lo que deduzco que se me ha arruinado la parte rs232 del pic :(

Huguen_aus_Tirol:
No Karen, no se ha arruinado nada! Prueba como te dije, enviar repetidamente desde el PIC al PC; tiene que funcionar :lightsabre:
La PC no tiene que enviar nada al PIC para que este envie un dato al PC, asi como tienes tu programa...
Prueba, que tiene que funcionar!!

Saludos :hola:

Ah! Como handas con VB y este tema de la comunicación serie? En una de esas puedes darme una mano ;)


--- Citar ---yo de C no se nada
--- Fin de la cita ---

Error de sintaxis: "yo de C no C nada" :D  :lol:

karen81:
:lol: pues logre solucionar mi problema, el problema estaba a la hora de quemar el programa uso winpic800 y en la parte de config habia que seleccionar:
XT quitar los cheques de las otras opciones y solo dejar MCLRE que es la del reset, lo demas se deja como esta, asi ya me funciono bien. y por cierto el circuito que estaba usando le quite la resistencia de 4.7K.

Huguen_aus_Tirol con respecto a:
--- Citar --- Ah! Como handas con VB y este tema de la comunicación serie? En una de esas puedes darme una mano
--- Fin de la cita ---

pues ya se mucho mas de esto asi que cualquier cosa por aqui andamos :)


Gracias por su ayuda  :hola:

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa