COMUNICACIÓN RS232
Transcript of COMUNICACIÓN RS232
![Page 1: COMUNICACIÓN RS232](https://reader030.fdocuments.es/reader030/viewer/2022033022/55cf9db4550346d033aecc73/html5/thumbnails/1.jpg)
COMUNICACIÓN RS-232
PIC BASIC PRO
![Page 2: COMUNICACIÓN RS232](https://reader030.fdocuments.es/reader030/viewer/2022033022/55cf9db4550346d033aecc73/html5/thumbnails/2.jpg)
Protocolo RS-232
• Las instrucciones en PicBasic para la comunicación serial, se rigen bajo el protocolo de comunicación RS-232, el cual es una norma o estándar mundial que define los parámetros en la comunicación serial. Este protocolo define además estándares como la velocidad de transmisión en baudios (300, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 56000, 57600, 115200 y 128000 bps), niveles de voltaje, distancia entre dispositivos, entre otros.
![Page 3: COMUNICACIÓN RS232](https://reader030.fdocuments.es/reader030/viewer/2022033022/55cf9db4550346d033aecc73/html5/thumbnails/3.jpg)
• Cuando se trata de comunicación serial entre un microcontrolador y un PC, es importante tomar en cuenta que los niveles de voltaje entre ambos dispositivos deben ser acoplados, ya que en un puerto serial de un PC, los niveles de voltaje están comprendidos entre +12V y -12V, y en un microcontrolador los niveles de voltaje están comprendidos entre 0V y 5V.
![Page 4: COMUNICACIÓN RS232](https://reader030.fdocuments.es/reader030/viewer/2022033022/55cf9db4550346d033aecc73/html5/thumbnails/4.jpg)
SerIn:• La instrucción SerIn se encarga de recibir uno o mas
valores a través de un pin específico, usando el formato asíncrono estándar 8N1 que significa 8 bits de datos, sin revisión de paridad y 1 bit de parada (stop).
• SerIntrabaja por defecto con un oscilador de 4 Mhz, y para tener una transferencia de datos segura con otros osciladores de mayor valor, será necesario utilizar la directiva “Define Osc” al inicio del programa.
![Page 5: COMUNICACIÓN RS232](https://reader030.fdocuments.es/reader030/viewer/2022033022/55cf9db4550346d033aecc73/html5/thumbnails/5.jpg)
SERIN pin, modo,{tiempo, etiqueta}, variable
Serin PortA.3, 2, 10, inicio, variable
Pin: en este campo definiremos cual será el pin de entrada entre los puertos disponibles del microcontrolador.
Modo: define la velocidad de transmisión en baudios.
Sintaxis:
![Page 6: COMUNICACIÓN RS232](https://reader030.fdocuments.es/reader030/viewer/2022033022/55cf9db4550346d033aecc73/html5/thumbnails/6.jpg)
VALOR NUMÉRICO MODO TASA DE BPS
0 T2400 2400
1 T2100 1200
2 T9600 9600
3 T300 300
4 N2400 2400
5 N1200 1200
6 N9600 9600
7 N300 300
![Page 7: COMUNICACIÓN RS232](https://reader030.fdocuments.es/reader030/viewer/2022033022/55cf9db4550346d033aecc73/html5/thumbnails/7.jpg)
El campo “Modo” también puede ser definido como se muestra en la columna 2 de la tabla 12.1, incluyendo la librería MODEDEFS.BAS en el inicio del programa(Include "modedefs.bas"), o utilizando directamente la instrucción “SYMBOL” como se muestra a continuación:
Symbol T2400 = 0 ' Dato verdadero (Driven True) Symbol T1200 = 1 ' Dato verdadero (Driven True) Symbol T9600 = 2 ' Dato verdadero (Driven True) Symbol T300 = 3 ' Dato verdadero (Driven True) Symbol N2400 = 4 ' Dato invertido (Driven inverted) Symbol N1200 = 5 ' Dato invertido (Driven inverted) Symbol N9600 = 6 ' Dato invertido (Driven inverted) Symbol N300 = 7 ' Dato invertido (Driven inverted)
![Page 8: COMUNICACIÓN RS232](https://reader030.fdocuments.es/reader030/viewer/2022033022/55cf9db4550346d033aecc73/html5/thumbnails/8.jpg)
Tiempo: este campo es opcional al igual que el campo “etiqueta”, y su objetivo es establecer un tiempo en milisegundos definido por el programador, el cual una vez vencido, hará que se realice un salto a la “etiqueta”, también definida por el programador.
Variable: En este campo se especifica la variable en la cual se desea sean almacenados los datos recibidos.
![Page 9: COMUNICACIÓN RS232](https://reader030.fdocuments.es/reader030/viewer/2022033022/55cf9db4550346d033aecc73/html5/thumbnails/9.jpg)
![Page 10: COMUNICACIÓN RS232](https://reader030.fdocuments.es/reader030/viewer/2022033022/55cf9db4550346d033aecc73/html5/thumbnails/10.jpg)
MAX 232
![Page 11: COMUNICACIÓN RS232](https://reader030.fdocuments.es/reader030/viewer/2022033022/55cf9db4550346d033aecc73/html5/thumbnails/11.jpg)
SerOut: La instrucción SerOut en PicBasic se encarga de enviar
uno o mas valores a través de un pin específico, usando el formato asíncrono estándar 8N1, que significa 8 bits de datos, sin revisión de paridad y 1 bit de parada (stop).
![Page 12: COMUNICACIÓN RS232](https://reader030.fdocuments.es/reader030/viewer/2022033022/55cf9db4550346d033aecc73/html5/thumbnails/12.jpg)
Ejemplo de SerIn:'Programa en Pic Basic Pro Define Osc 4 ' Define el Oscilador para un Cristal de 4 Mhz. Symbol T9600 = 2 ' Dato verdadero (Driven True) dato var Byte ' Define la variable “dato” como Bytepause 500 ' Pausa de 500 milisegundos para la LCDLCDOut $fe, 1 ' Limpia la LCD
inicio: SerIn PORTC.7, T9600, dato ' espera datos durante 1 msLCDOUT $fe, 2,"Dato: " LCDOut $fe,$C0,#dato," "GoTo inicio ' Salta a inicio
End
![Page 13: COMUNICACIÓN RS232](https://reader030.fdocuments.es/reader030/viewer/2022033022/55cf9db4550346d033aecc73/html5/thumbnails/13.jpg)
Sintaxis: SEROUTpin, modo, [variable]
SerOut PORTC.6, T9600, [variable]
• Pin: en este campo definiremos cual será el pin de salida entre los puertos disponibles del microcontrolador. Ejemplo: PortB.5
• Modo: define la velocidad de transmisión en baudios y emplea la misma tabla de la instrucción Serin
• Variable:En este campo se especifica la variable que contiene los datos que serán enviados a través de pin especificado.
![Page 14: COMUNICACIÓN RS232](https://reader030.fdocuments.es/reader030/viewer/2022033022/55cf9db4550346d033aecc73/html5/thumbnails/14.jpg)
Ejemplo de SerOutDefine Osc 4 ' Define el Oscilador para un Cristal de 4MhzSymbol T9600 = 2 ' Dato verdadero (Driven True) I VAR Byte ' Define la variable “I” como Byte
inicio: For I = 0 To 9 ' Repetición de 0 a 9, envía secuencia de 0 a 9SerOut PORTC.6, T9600, [#I] 'Envía los datos a través del pinRC6pause 1000 ' Pausa de 1 segundoNext I GoTo inicio ' Salta a inicio
End