comunicacion serial

Upload: luis-peraza

Post on 06-Jul-2015

554 views

Category:

Documents


0 download

TRANSCRIPT

Gua

6

1

Facultad: Ingeniera. Escuela: Electrnica Asignatura: Interfaces y perifricos

Manejo del Puerto SerieObjetivos Especficos Transferir de manera asncrona datos en serie por medio del puerto serial utilizando Visual Basic.

Materiales y equipos No Cantidad 1 2 2 1

Descripcin Computadoras con sistema operativo Windows 98 o superior con el programa Visual Basic 6.0. Cable para puerto serial RS-232 estndar.

Introduccin Terica La interfase serie asncrona es el principal dispositivo de comunicacin de sistema a sistema. Asncrono significa que no hay presente una seal de sincronizacin o de reloj. Cada carcter esta enmarcado entre seales de inicio y parada. Un solo bit 0, denominado bit de inicio, precede a cada carcter para indicar al sistema que los siguientes 8 bits constituyen un byte de datos. Uno o dos seales de alto siguen al carcter para sealar que dicho carcter ha sido enviado. Trama en una transmisin asncrona:Paridad: Par (0) o Impar (1)

DATOS (5 a 8 bits) IDLE STATE

STOP

X

X

X

X

X

X

X

X

X1bit 1.5 bit 2 bit

Figura 1.

Gua

6

2

El puerto serie de una computadora est compuesto por varias entradas / salidas. Dispuestas en un conector del tipo DB-9 o DB-25, tal como se muestra en la siguiente figura:

Figura 2 a) Conector DB-25, b) Conector DB-9 La distribucin de las seales en cada uno de sus pines es la siguiente: GND SG: 0 Voltios. TxD: Salida para transmisin de datos. RxD: Entrada para recepcin de datos. RTS: (Request To Send) Salida que indica una peticin de envo. CTS: (Clear To Send) Dispuesto para enviar, entrada por donde le indica el otro dispositivo que ya puede enviar los datos. DSR: (Data Set Ready) Dispositivo de datos preparado, entrada por donde le indica el otro dispositivo que ya esta listo. DCD o CD: Entrada para deteccin de portadora. DTR: (Data Terminal Ready) Salida, terminal de datos listo. En las prcticas anteriores se ha estado trabajando con la herramienta que trae Visual Basic para trabajar con el puerto serie (Microsoft Comm Control 6.0) sin profundizar mucho en su uso ya que no era ese el objetivo, por lo que a continuacin se hace una introduccin sobre dicho control:

Gua

6

3

Microsoft Comm Control 6.0Es un control que permite la comunicacin de una aplicacin hecha en Visual Basic 6 con el puerto serie. No est en la caja de herramientas por defecto, debe introducirse Mediante Proyecto y luego Componentes. En el formulario solamente se ve en tiempo de diseo. PROPIEDADES Entre sus propiedades hay algunas que pueden establecerse en tiempo de diseo o en tiempo de ejecucin, y otras que solamente se pueden establecer o consultar en tiempo de ejecucin. A continuacin se enuncian algunas propiedades de este control. Propiedades que se establecen en tiempo de diseo o ejecucin: CommPort: Indica el nmero del puerto serie a utilizar, admite valores del 1 al 255, Generalmente las PC tienen dos puertos seriales: Com1 y Com 2, si se le coloca un nmero de puerto inexistente dar error. Settings: Indica 4 parametros en orden velocidad, paridad, nmero de bits y bits de parada que se van a usar en la comunicacin. InBufferSize: Mediante esta propiedad establecemos el tamao del Buffer de entrada. Puede conocerse el nmero de caracteres presentes en el Buffer de entrada consultando el valor de la propiedad InBufferCount. OutBufferSize: Mediante esta propiedad controlamos el tamao del Buffer de salida. Puede conocerse el nmero de caracteres presentes en el Buffer de salida (los que an estn por transmitir), consultando el valor de la propiedad OutBufferCount.

Gua

6

4

Propiedades que se establecen slo en tiempo de ejecucin: PortOpen: Abre el puerto de comunicacin. Puede tener los valores True (Para abrirlo) y False (Para cerrarlo). InBufferCount: Nos permite averiguar cuantos caracteres tenemos en el Buffer de entrada. OutBufferCount: Nos permite conocer cuantos caracteres quedan por transmitir en el Buffer de salida. Output: Enva caracteres al Buffer de salida. Input: Lee el Buffer de recepcin. El control Microsoft Comm Control 6.0 tiene por defecto el nombre MSComm1, para establecer o consultar una propiedad se debe utilizar la siguiente sintaxis MSComm1.Propiedad Por ejemplo para abrir el puerto colocamos MSComm1.PortOpen = True. Para leer el puerto Buffer=Mscomm1.Input. Para escribir en el puerto MSComm1.Output = dato De igual forma con las dems propiedades

Procedimiento 1. Cree un programa en Visual Basic que comunique dos computadoras por medio del puerto serie, el programa debe lucir como el de la figura 3. 2. La rutina de Recepcin de datos debe incluirse dentro de un Timer de la siguiente forma: Private Sub Timer1_Timer() If MSComm1.InBufferCount 0 Then buffer = MSComm1.Input Text2.Text = buffer End If End Sub

Gua

6

5

NOTA: Recuerde habilitar y colocarle un intervalo al timer y de abrir el puerto serial al iniciar y de cerrarlo al finalizar el programa.

Figura 3. Anlisis de Resultados 1. Presente el programa y la descripcin del funcionamiento del ejercicio realizado en la prctica.

Investigacin Complementaria 1. Investigue a cerca de las propiedades Hanshaking, InputLen e InputMode del Microsoft Comm Control 6.0 2. Investigue sobre los eventos del MSComm.

Bibliografa tec.upc.es/ie/practi/manual_VB/ceubas06.doc Ramrez, Jos Felipe. Aprenda Visual Basic Practicando. Biblioteca UDB Clasificacin: 005.363 R173 2001 PRENTICE HALL, Mxico, Mxico 2001,1 Edicin.