Autor Tema: RS232 sincrono  (Leído 2525 veces)

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

Desconectado kenniata

  • PIC10
  • *
  • Mensajes: 12
RS232 sincrono
« en: 24 de Julio de 2007, 15:18:42 »
Buenas a todos!
Estoy intentando hacer una comunicacion sincrona entre un 16f628 y una radio que tengo. Tengo el datasheet y veo los valores que tendria que modificar para configurar a USART a modo sincrono pero no hay manera, no se como se hace. Trabajo en C y todos los ejemplos que he encontrado por el foro estan o en basic o en assambler. Alguien tiene algun ejemplo en C para que me pueda guiar?

Muchas gracias de antemano :-)

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: RS232 sincrono
« Respuesta #1 en: 24 de Julio de 2007, 15:26:03 »
Buenas a todos!
Estoy intentando hacer una comunicacion sincrona entre un 16f628 y una radio que tengo. Tengo el datasheet y veo los valores que tendria que modificar para configurar a USART a modo sincrono pero no hay manera, no se como se hace. Trabajo en C y todos los ejemplos que he encontrado por el foro estan o en basic o en assambler. Alguien tiene algun ejemplo en C para que me pueda guiar?

Muchas gracias de antemano :-)

¿Y puedes mostrarnos lo que has intentado?
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado kenniata

  • PIC10
  • *
  • Mensajes: 12
Re: RS232 sincrono
« Respuesta #2 en: 24 de Julio de 2007, 16:09:58 »
Aqui está el código. Es simplemente una recepcion de los datos por 2 puertos distintos.
Código: [Seleccionar]
#include <16f628A.h> // Selecciona el PIC
#fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT // Opciones de configuración
#use delay(clock=4000000) // Velocidad del Cristal : 4 Mhz
#use rs232(baud=9600, xmit=PIN_B2, rcv=PIN_B1,stream=radio,uart1,sync_master) // Definición del RS232
#use rs232(baud=9600,xmit=PIN_B3, rcv=PIN_B4,stream=pc)

char rx_radio,rx_pc;

#int_rda
void serial_isr() {

  if(kbhit(radio))
    rx_radio=getc(radio);   
 }

void main() {

  enable_interrupts(global);
  enable_interrupts(int_rda);
  do {
   if (kbhit(pc)) 
   rx_pc=getc(pc);   
   
  } while (TRUE);
}

La UART la configuro como maestra pero una vez ahí, no se como continuar. Los valores de BGRH, TX9, SREN... no se como cargarlos dentro del codigo y trabajar con ellos


 

anything