Autor Tema: transmisión serie rs232 usart  (Leído 1960 veces)

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

Desconectado iamdari

  • PIC10
  • *
  • Mensajes: 14
transmisión serie rs232 usart
« en: 11 de Enero de 2011, 06:24:13 »
me ha surgido un problemilla programando a ver si m podeis ayudar ...
el problema que tengo cuando simulo con proteus es que el master no envia nada, por lo tanto el esclavo toma valor aleatorio en la variable valor.

codigo master:

#include <16f876.h>
#use delay(clock=4000000)
#use fast_io(c)
#use rs232(baud=9600, xmit=pin_c6, rcv=pin_c7, bits=8)
#include <lcd.c>
#use standard_io(b)


void main(){

   int valor;
   port_b_pullups(true);
   set_tris_b(0x00);
   set_tris_c(0x80);
   lcd_init();
   
   while(1){
   for (valor=0;valor<=10;valor++){
   putc(valor);
   printf(lcd_putc,"\fEnviando %1D",valor);
   delay_ms(500);}
   }
}


codigo slave:

#include <16f876.h>
#fuses xt,nowdt
#use delay(clock=4000000)
#use fast_io(c)
#use rs232(baud=9600, xmit=pin_c6, rcv=pin_c7, bits =8)
#include <lcd.c>
#use standard_io(b)

int valor;
#int_rda
rda_isr(){
valor=getc();
}

void main(){
   
   port_b_pullups(true);
   set_tris_b(0x00);
   lcd_init();
   
   
   enable_interrupts(int_rda);
   enable_interrupts(global);
   
   for(;;){
   lcd_gotoxy(1,1);
   printf(lcd_putc,"\fReciviendo %1d",valor);
   }}

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: transmisión serie rs232 usart
« Respuesta #1 en: 11 de Enero de 2011, 10:43:12 »
Hola.

Asumiendo que la configuración del TRIS este bien, prueba sumar 0x30 a valor para recibir el ASCII porque los primeros valores del ASCII no se visualizan. No olvides configurar los FUSES en el transmisor también.

Saludos
El papel lo aguanta todo

Desconectado iamdari

  • PIC10
  • *
  • Mensajes: 14
Re: transmisión serie rs232 usart
« Respuesta #2 en: 11 de Enero de 2011, 13:20:34 »
Buenas!!!! Muchas gracias por contestar mi duda. Aún así no se ha solucionado. ¿Qué puede fallar? me cabrea que algo tan simple no funcione....
Si me pueden ayudar se lo agradecería muchisimo!!!

Un saludo

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: transmisión serie rs232 usart
« Respuesta #3 en: 11 de Enero de 2011, 13:35:43 »
faltan los fuses del master..no?
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado iamdari

  • PIC10
  • *
  • Mensajes: 14
Re: transmisión serie rs232 usart
« Respuesta #4 en: 11 de Enero de 2011, 14:06:21 »
Ya los he puesto pero nada.... pufff... no lo entiendo... por favor ruego que me ayudeis!! es para un proyecto y si esto no m funciona no puedo continuar.

un saludo , muchas graciass

Desconectado iamdari

  • PIC10
  • *
  • Mensajes: 14
Re: transmisión serie rs232 usart
« Respuesta #5 en: 11 de Enero de 2011, 14:39:39 »
He cambiado el pic 16f876 por el 16f877 y ya funciona....

este proteus que bueno es pero que guerra da!!xDD


Conectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: transmisión serie rs232 usart
« Respuesta #6 en: 11 de Enero de 2011, 14:41:44 »
Si pusieras los fuentes de ambos PIC y el archivo DSN del Isis, seria mas facil ayudarte.
Si los compactas en un archivo menor a 255 kb puedes adjuntarlos en el mismo post, clickeando en Opciones adicionales permite adjuntar archivos.
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Conectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: transmisión serie rs232 usart
« Respuesta #7 en: 11 de Enero de 2011, 14:43:49 »
Seguramente es la configuracion del LCD, que debe estar puesto al PortD, que el 876 no lo tiene...
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.


 

anything