Autor Tema: Programar La UART para serial  (Leído 2428 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado pelufero

  • PIC10
  • *
  • Mensajes: 4
Programar La UART para serial
« en: 03 de Diciembre de 2005, 22:56:00 »
Saludos, Espero que alguien pueda ayudarme , estoy tratando de programar la uart 16c450 desde un pic 16f84A para mandar datos a la pc desde el pic por medio de serial , pero no puedo programarla, alguien puede decirme como se programa, para establecer la comunicacion estoy usando para mi palabra de control A0 A1 A2 y -CS2 y el -DISTR y De la uart mando al max232.
O si alguien sabe como emular la uart en el pic16f84A con el PICC o cualquier otro tipo de c
Agradeceria mucho cualquier tipo de  ayuda
Gracias Giño

Desconectado roc364

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 108
RE: Programar La UART para serial
« Respuesta #1 en: 04 de Diciembre de 2005, 14:30:00 »
Hola pelufero! Con el 16f84 siempre vas a tener que emular la uart, ya que este micro no la posee. para usar una uart simulada en PICC, debes usar la directiva #use rs232 y especificar un pin tx y uno rx.
saludos!
Hay solo 10 tipos de personas, los que entienden el codigo binario, y los que no.

Viva La Patagonia Argentina!!

Desconectado pelufero

  • PIC10
  • *
  • Mensajes: 4
RE: Programar La UART para serial
« Respuesta #2 en: 04 de Diciembre de 2005, 20:25:00 »
bueno hice un programa asi en  picC pero no funciono

Codigo:


#include <16F84A.h>
#use delay(clock=4000000)
#fuses XT,NOWDT
#use rs232(baud=9600,parity=N,xmit=PIN_A3,rcv=PIN_A4)


void main() {

   setup_counters(RTCC_INTERNAL,RTCC_DIV_2);
   printf("G"Giño;
   while(1)
   {
   output_high(PIN_A4);
   delay_us(500);
   }




bueno hice algo asi pero no funciono, no se si tengas algun ejemplo para mandar la letra por el puerto  o que es lo que tengo mal
para que por ese puerto salga la letra G

Espero se pueda Giño
Gracias

Desconectado pelufero

  • PIC10
  • *
  • Mensajes: 4
RE: Programar La UART para serial
« Respuesta #3 en: 04 de Diciembre de 2005, 22:43:00 »
Saludos a todos ,
estaba viendo los foros anteriores
y cheque este codigo lo probe en el pic y tampoco funciono

Codigo:

#include <16F84A.h>
#fuses XT, NOWDT, NOPROTECT
#use delay(clock=4000000)
#define Tx PIN_A0 // PIN de Transmisión
#define Rx PIN_A1 // PIN de Recepción
//los de entrada se poneen en uno
/*9600 baudios, 8 bit de datos, 1 bit de stop, sin paridad*/

#use rs232(baud = 9600, xmit = Tx, rcv = Rx)

void main (void)
{
   char b;
   set_tris_b(0b00000000);
   set_tris_a(0x02); //se pone el bit A1 de recepcion
   
   while(1)
   {
      putc("G");
      delay_ms(3000);
     
     
     
   }
}




No se si algo este mal, o por que no funciona??


Gracias

Desconectado roc364

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 108
RE: Programar La UART para serial
« Respuesta #4 en: 05 de Diciembre de 2005, 06:52:00 »
Bueno, en el primer programa que pusiste, el printf esta fuera del bucle, por lo tanto solo se imprimira una sola vez al comenzar el programa. Ademas no se que queres hacer tocando el pin A4 dentro del bucle...
El segundo codigo, tiene buena pinta.
Si no te funciona pueden ser varias las razones...
primero y bastante obvia, estas utilizando un adaptador de niveles no?? (max232)
me imagino que si. Si es asi, esta bien conectado??? si estas seguro que esta todo bien, tendrias que monitorear con leds o midiendo en la parte TTL (pic) si el micro esta transmitiendo.
bueno, segui posteando a ver como te esta llendo.
Suerte!
Hay solo 10 tipos de personas, los que entienden el codigo binario, y los que no.

Viva La Patagonia Argentina!!

Desconectado roc364

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 108
RE: Programar La UART para serial
« Respuesta #5 en: 05 de Diciembre de 2005, 07:02:00 »
proba este codigo ( es el tuyo modificado )

#include <16F84A.h>
#use delay(clock=4000000)
#fuses XT,NOWDT
#use rs232(baud=9600,parity=N,xmit=PIN_A3,rcv=PIN_A4)


void main()
{
  while(1)
  {
     printf("Hola soy el pic!!" );
     delay_ms(500);
   }
}



si con este codigo no funciona, es porque tenes problemas de hardware!!
Hay solo 10 tipos de personas, los que entienden el codigo binario, y los que no.

Viva La Patagonia Argentina!!

Desconectado pelufero

  • PIC10
  • *
  • Mensajes: 4
RE: Programar La UART para serial
« Respuesta #6 en: 08 de Diciembre de 2005, 23:20:00 »
Hola saludos

Gracias ya funciono, no se por que no estaba funcionando.
funciono  muy bien con el printf
pero con el putc no funciono, no se si sea la compu ya que tampoco estaba funcionando bien ya que el mismo puerto serial lo usaba para grabar, despues reinicie la compu y funciono y bueno despues hize todas las pruebas con printf
ya no volvi a checar con putc Avergonzado.

Muchas gracias rock364

Saludos a todos Sonrisa Gigante


 

anything