Autor Tema: Problema con interrucion y comunicacion serial  (Leído 3118 veces)

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

Desconectado alexandervr92

  • PIC10
  • *
  • Mensajes: 6
Problema con interrucion y comunicacion serial
« en: 15 de Junio de 2017, 08:41:21 »
Hola a todos, tengo un problema con mi programa, estoy haciendo una prueba para ver si funciona mi conexion serial con el microcontrolador. El programa que hice en c# manda un string al puerto serial, en proteus estoy simulando con el COMPIN y microcontrolador pic16f876. He hecho pruebas y con el virtual terminal de proteus y si llega el string, sin embargo el pic no lo recibe o no se que pasa. Lo unico que quiero ahora es que cuando el pic reciba el dato encienda un led. El resto del codigo es solo para controlar la matriz de leds.

* circuito.PNG
(64.54 kB, 1157x571 - visto 1330 veces)


-----codigo en C para compilador CCS de PIC------

#include <16F876.h>
#include <stdio.h>

#FUSES NOWDT, HS

#use delay(clock=20M)
#use rs232 (baud = 9600, parity = N, xmit=PIN_C7, rcv=PIN_C6, bits = 8)

#define DATA   PIN_C4
#define CLOCK  PIN_C3
#define LATCH  PIN_C2

char dato; //dato2;
//byte nuevo;

#INT_RDA
void rda_isr()
{
   if(kbhit())       // si hay algo pendiente de descargar en la USART...
      {
         dato=getc();   // lo descargo sobre la variable -dato-
         output_high(pin_a2); //cada descarga de datos enciente el led
      } 

}


void reloj (int x){
   output_bit(DATA,2^x);
   output_bit(CLOCK,1);
   output_bit(CLOCK,0);
   output_bit(LATCH,1);
   output_bit(LATCH,0);
}

#define LARGO 42                                        //Longitud de la tabla

int const tabla[LARGO+80]={
                          0,0,0,0,0,0,0,0,              //Espacios
                          0,0,0,0,0,0,0,0,              //Espacios
                          0,0,0,0,0,0,0,0,              //Espacios
                          0,0,0,0,0,0,0,0,              //Espacios
                          0,0,0,0,0,0,0,0,              //Espacios
                          255,16,16,16,255,0,0,         //H
                          255,145,145,145,129,0,0,      //E
                          255,128,128,128,128,0,0,      //L
                          255,128,128,128,128,0,0,      //L
                          126,129,129,129,126,0,0       //O
                          255,64,32,64,255,0,0          //W
                          0,0,0,0,0,0,0,0,              //Espacios
                          0,0,0,0,0,0,0,0,              //Espacios
                          0,0,0,0,0,0,0,0,              //Espacios
                          0,0,0,0,0,0,0,0,              //Espacios
                          0,0,0,0,0,0,0,0,              //Espacios
                          };

void main(){
 
   enable_interrupts(int_rda);
   enable_interrupts(global);

   int i,j,k;                         //Variables contadores
   while(TRUE){                        //Ciclo infinito
      for(i=0;i<LARGO;i++){           //Recorrido de tabla
         for(k=0;k<5;k++){           //Refresco de matriz
            for(j=0;j<40;j++){         //Barrido de columnas
               reloj(j);              //Columnas ponderadas
               output_b(tabla[j+i]);  //Desplazamiento de tabla
               delay_ms(1);           //Demora de multiplexado
            } 
         }
      }
   } 







Desconectado juandavidcy

  • PIC10
  • *
  • Mensajes: 18
Re:Problema con interrucion y comunicacion serial
« Respuesta #1 en: 15 de Junio de 2017, 17:05:38 »
hola

solo mire la imagen y tienes mal conectados los pines del pic con el del compim, coloca tx con tx y rx con rx, por eso si te sirve con el vitual terminal porque lo tienes conectado como acabo de mencionar :D

Desconectado alexandervr92

  • PIC10
  • *
  • Mensajes: 6
Re:Problema con interrucion y comunicacion serial
« Respuesta #2 en: 15 de Junio de 2017, 17:18:41 »
mmmm, pues he cambiado los pines y tampoco funciona, incluso tambien probe a cambiar los pines junto con la configuracion xmit y rcv y tampoco funciona :(

Desconectado juandavidcy

  • PIC10
  • *
  • Mensajes: 18
Re:Problema con interrucion y comunicacion serial
« Respuesta #3 en: 15 de Junio de 2017, 19:35:19 »
deberia quedar asi


* Sin título.png
(19.74 kB, 554x431 - visto 1306 veces)


y el rs232 asi

Código: C
  1. #use rs232 (baud = 9600, parity = N, xmit=PIN_C6, rcv=PIN_C7, bits = 8)

Desconectado alexandervr92

  • PIC10
  • *
  • Mensajes: 6
Re:Problema con interrucion y comunicacion serial
« Respuesta #4 en: 17 de Junio de 2017, 09:51:58 »
ohhh muchas gracias, ya me funciono  :-/  ((:-))  :)

Desconectado juandavidcy

  • PIC10
  • *
  • Mensajes: 18
Re:Problema con interrucion y comunicacion serial
« Respuesta #5 en: 27 de Junio de 2017, 13:49:25 »
con gusto


 

anything