# Comunicacion pc - pic mediante rs232



## David Steven (Nov 27, 2008)

Buenas noches....
............... Estoy realizando un proyecto en el cual  comunico  un PC ( utilizando java  Net Beans, que envia datos como cadena STRING ) con un Pic mediante protocolo RS232... Me gustaria saber como realizar la lectura de datos que llegan al PIC , en cuanto a sentencias de lectura  que me puedan servir para identificar un caracter dentro de una cadena de los mismos... Gracias


----------



## Ardogan (Dic 3, 2008)

Estás utilizando un módulo USART, o UART, o EUSART o similar en el pic?.
Tu duda es como almacenar los datos que llegan al PIC?; o eso ya lo tenés resuelto y tu duda es como hacer una rutina de búsqueda para identificar un caracter dentro de un buffer con los datos que llegaron al pic?.

Saludos


----------



## Meta (Dic 3, 2008)

Hola:

En Visual C# es así:

```
byte[] mBuffer = new byte[1];
            mBuffer[0] = 0x74; //ASCII letra "t".
            serialPort1.Write(mBuffer, 0, mBuffer.Length);
```

YouTube - RS232 con PIC 16F84A y Visual C#

Saludo.


----------



## ivan147007 (Oct 29, 2011)

yo estoy en una situscion similar

quiero controlar  8 relay con el puerto db9 usando java


----------



## cosmefulanito04 (Oct 30, 2011)

Java + Windows + Rs-232 = dolor de cabeza.

El 1er problema que te vas a encontrar es que java no da soporte para windows, con lo cual vas a tener que buscar un driver de un 3ero (salvo que te quieras meter vos y lo desarrolles ). Te recomiendo que te bajes las librerías del proyecto RxTX que funcionan bien (http://rxtx.qbang.org/wiki/index.php/Main_Page).

El 2do problema, es que Java no usa variables no-signadas, osea no existe un "unsigned char", lo que te va a dar un dolor de cabezas cuando envíes datos mayores a 0x7f :enfadado: (osea que si te limitas a usar solo el código Ascii no vas a tener problemas) . La solución es usar una variable del tipo short y hacer una conversión media rara como esta:


```
(short)(this.input_stream.readByte()&0xff);
```

Con esa manganeta loca conseguís poder recibir los datos sin problemas.


----------

