Autor Tema: Comunicación serie matlab con pic16f877  (Leído 1858 veces)

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

Desconectado Martincito77

  • PIC10
  • *
  • Mensajes: 1
Comunicación serie matlab con pic16f877
« en: 24 de Junio de 2013, 22:22:50 »
Hola a todos en el foro, recurro al mismo porque desde hace un tiempo deseo hacer una comunicación bidireccional mediante rs232 entre una GUIDE que creé en Matlab, y un PIc 16f877.
Como desconozco muchas cosas de programación (sobre todo del PIC) decidí comenzar enviando desde Matlab un dato y poder visualizarlo en un display LCD conectado al PIC. Por el momento estoy utilizando el simulador ISIS de Proteus, por lo tanto creo puertos virtuales con el Virtual Serial Port Driver.
Mi problema es que al mandar datos desde el teclado, estos se escriben sin problemas en el LCD del simulador, en cambio si le doy un valor a una variable en Matlab y la envío, dicho valor nunca se ve en el display.
Para leer el valor del puerto utilizo "gets()", que funciona bien cuando envío datos con el teclado,pero no lee lo que escribe Matlab.

El código en CCS es el siguiente:

#include <lcd.c>
#fuses XT,WDT,NOPROTECT,NOLVP,NOPUT,NOBROWNOUT,NOCPD,NODEBUG,NOWRT
#use delay(clock=4000000)
#use rs232(baud=9600, xmit=pin_c6, rcv=pin_c7, bits=8, parity=N)
#use standard_io(B)

char valor[14];

#int_rda

void serial_isr()
{
gets(valor);
}

void main()
{
enable_interrupts(global);
enable_interrupts(int_rda);
lcd_init();
lcd_gotoxy(1,1);
printf(lcd_putc,"%s",valor);

}

Saludos.


 

anything