You are on page 1of 3

24/8/2016

Comomanejarelpuertoserieenc#Cosasvarias

Cosas varias
C#

COMO MANEJAR EL PUERTO SERIE EN C#


27 MARZO, 2013 | PRUEBAS | 4 COMENTARIOS

[singlepic id=2 w=320 h=240 oat=right]Para manejar el puerto serie en C# es una tarea
relativamente sencilla, esto porpermitirconectarnos a in nidad dedispositivoselectrnicosque
utilizan este medio para comunicarse con el ordenador. La forma mas habitual de conectar nuestro
programa con cualquier dispositivo electrnico (Arduino, , etc.) suele ser mediante el puerto serie,
ya sea por el tradicional RS232 o un puerto USB que funciona como un puerto serie. Para poder
conectar nuestros programas hechos en c# con estos dispositivos, este nos facilita un control para
poder realizar este tipo de comunicaciones. Este control es el SerialPort. Para poder utilizarlo
tenemos dos maneras, 1arrastrndolodesde la barra de controles hasta nuestro programa o, la otra
forma de crearlo es desde nuestro propiocdigo C#. Como la primera es obvio lo que hay que hacer,
paso a explicar la segunda forma.

Inicializacin del control Serial Port porcdigo en C#.


Lo primero que tenemos que hacer es aadir un nuevo using para agregar todos objetos
relacionados con el manejo de puertos, System.IO.Ports, una vez que ya tengamos esto insertado en
nuestro codigo, ya podemos pasar ha de nir la variable quecontendr nuestro control Serial Port, de
la siguiente manera.
1
2
3

//Creamoslavariableparaelmanejodelpuertoserie
SerialPortspPuertoSerie=newSerialPort(
"COM1",9600,Parity.None,8,StopBits.One);

De esta forma creamos el objeto spPuertoSerie, que le hemos paso como parametros:
Nombre del puerto: el puerto al que nos queremos conectar, en el ejemplo COM1.
Velocidad detransmisin: la velocidad de trasmisin.
Paridad:Sirve para veri car si hay errores en la transmisin. Existen cuatro tipos posibles de
paridad: par (even), impar (odd), marcada (mark) y espaciada (space).Tambinesta permitido no
usar paridad (none), como en el ejemplo.
Bits de datos: Es la cantidad de datos que se van ha enviar en cada paquete. Este valor puede ser 5,
7 u 8. Valor ms habitual es el 8.
Bits de parada: Indica el nal del paquete, Los valores permitidos son 1, 1.5 o 2.Tambinvale para
la sincronizacin de la comunicacin.
http://www.todavianose.com/comomanejarelpuertoserieenc/

1/3

24/8/2016

Comomanejarelpuertoserieenc#Cosasvarias

Tambin podemos crear nuestroobjetode una manera mas sencilla, si no conocemos


losparmetrosde la comunicacin.
1
2

//Creamoslavariableparaelmanejodelpuertoserie
SerialPortspPuertoSerie=newSerialPort();

Para pasar losparmetroslo podemos hacer de esta otra forma:


Este sitio emplea cookies como ayuda para prestar servicios. Al utilizar este sitio, ests aceptando el uso de cookies.

1
2
3
4
5
6

//Parametrosparainiciarelpuertoserie
Aceptar
spPuertoSerie.PortName="COM1";
spPuertoSerie.BaudRate=9600;
spPuertoSerie.Parity=Parity.None;
spPuertoSerie.StopBits=StopBits.One;
spPuertoSerie.DataBits=8;

Despus de tener ya creado nuestro objeto que se va ha encargar de la comunicacin, solo falta abrir
la comunicacin de la siguiente manera.
1
2

//Abrirlacomunicacin
spPuertoSerie.Open();

Parta cerrar la comunicacin del puerto serie lo haremos de la siguiente forma.


1
2

//Cerrarlacomunicacin
spPuertoSerie.Close();

Y con esto ya tenemos resuelto el problema de la comunicacin con los dispositivos mediante el
puerto serie. Ahora solo queda la recepcin yenvide los datos. Pero eso sera en otro post.
Espero que te sirva de ayuda.

Publicaciones relacionadas
PREGUNTAR ANTES DE CERRAR UN PROGRAMA EN C#
VERIFICAR EN C# EL FORMATO DE UNA DIRECCIN DE E-MAIL
CONECTARSE HA UNA BASE DE DATOS MYSQL CON C#
COMO CAMBIAR EL NOMBRE DE LAS COLUMNAS DE UN DATAGRIDVIEW EN C#
LEER FICHEROS XML A TRAVS DE DATASET (C#)

C#

PUERTO SERIE

4 PENSAMIENTOS EN COMO MANEJAR EL PUERTO SERIE EN C#


jonathan
5 OCTUBRE, 2014 A LAS 19:31

Gracias amigo me sirvi mucho tu post, bien explicado xD

http://www.todavianose.com/comomanejarelpuertoserieenc/

2/3

24/8/2016

Comomanejarelpuertoserieenc#Cosasvarias

Dani
23 NOVIEMBRE, 2015 A LAS 23:59

Casi nunca dejo comentarios, pero esto me resulto de ayuda, no encontraba informacin de este
tema y te agradezco.
Este sitio emplea cookies como ayuda para prestar servicios. Al utilizar este sitio, ests aceptando el uso de cookies.

canace

Aceptar

21 MAYO, 2016 A LAS 19:28

gracias, me sirvio de mucho este post, pero podrias decirme como enviar un oat, solo
encuentro informacion de ascii y strings.

pruebas
24 MAYO, 2016 A LAS 1:07

No pienses que los datos que envas tienen formato, 100,89, puede ser para ti un oat pero
realmente es un 1 un 0 otro 0 una coma un 8 y 9, cdigo ascii, una cadena de caracteres,
cuando lo leas es cuando lo interpretas como quieras, por ejemplo si solo lo vas ha mostrar,
en formato string te vale, si vas hacer algn calculo, conviertes de string a oat. Pero el envo
siempre sera una cadena de cdigos ascii, un sring. Lo que tienes que tener muy claro en
cada momento, es lo que vas hacer con esos datos que estas recibiendo, y si soportan el tipo
con el que vas ha trabajar. Si mando hola, en el otro lado no voy ha intentar convertirlo en
un int, por ejemplo. Solo tienes que saber manejar los comandos de conversin de tipos.

http://www.todavianose.com/comomanejarelpuertoserieenc/

3/3

You might also like