Anda di halaman 1dari 12

INSTITUTO TECNOLOGICO DE AGUA

PRIETA
TAREA # 3
SERIAL PORT EN C#
MATERIA:
PROGRAMACION AVANZADA
MAESTRO:
ALONSO SANDOVAL ENRIQUEZ

ALUMNO:
MONTEROS GARCIA DANIEL ERNESTO

CARRERA: ING. MECATRONICA SEPTIMO


SEMESTRE

Agua Prieta Son, Mex.


FECHA: 28/10/2016

SerialPort
Representa un recurso de puerto serie.
Sintaxis
public class SerialPort : Component

Constructores
Nombre

Descripcin

Inicializa una nueva instancia de la clase SerialPort.


SerialPort()

SerialPort(IContainer)

Inicializa una nueva instancia de la


clase SerialPort utilizando el
objeto IContainer especificado.

SerialPort(String)

Inicializa una instancia nueva de la


clase SerialPort utilizando el nombre de puerto
especificado.

SerialPort(String,Int32)

Inicializa una instancia nueva de la


clase SerialPort utilizando el nombre de puerto y la
velocidad en baudios especificados.

SerialPort(String,Int32,
Parity)

Inicializa una instancia nueva de la


clase SerialPort utilizando el nombre del puerto, la
velocidad en baudios y el bit de paridad especificados.

SerialPort(String,Int32,
Parity,Int32)

Inicializa una instancia nueva de la


clase SerialPort utilizando el nombre del puerto, la
velocidad en baudios, el bit de paridad y los bits de
datos especificados.

SerialPort(String,Int32,
Parity,Int32,StopBits)

Inicializa una instancia nueva de la


clase SerialPort utilizando el nombre del puerto, la
velocidad en baudios, el bit de paridad, los bits de
datos y el bit de parada especificados.

Propiedades
Nombre

Descripcin

BaseStream

Obtiene el objeto Stream subyacente para un


objeto SerialPort.

BaudRate

Obtiene o establece la velocidad en baudios del puerto


serie.

BreakState

Obtiene o establece el estado de la seal de interrupcin.

BytesToRead

Obtiene el nmero de bytes de datos en el bfer de


recepcin.

BytesToWrite

Obtiene el nmero de bytes de datos en el bfer de


envo.

CanRaiseEvents

Obtiene un valor que indica si el componente puede


provocar un evento.(Heredado de Component).

CDHolding

Obtiene el estado de la lnea de deteccin de portadora


para el puerto.

Container

Obtiene IContainer que contiene Component.(Heredado


de Component).

CtsHolding

Obtiene el estado de la lnea Listo para enviar.

DataBits

Obtiene o establece la longitud estndar de los bits de


datos por byte.

DesignMode

Obtiene un valor que indica si la Component est


actualmente en modo de diseo.(Heredado

de Component).
DiscardNull

Obtiene o establece un valor que indica si no se tienen


en cuenta los bytes nulos en las transmisiones entre el
puerto y el bfer de recepcin.

DsrHolding

Obtiene el estado de la seal Conjunto de datos


preparado (DSR).

DtrEnable

Obtiene o establece un valor que habilita la seal


Terminal de datos preparado (DTR) durante la
comunicacin en serie.

Encoding

Obtiene o establece la codificacin de bytes para la


conversin de texto previa y posterior a la transmisin.

Events

Obtiene la lista de controladores de eventos que se


adjuntar a este Component.(Heredado de Component).

Handshake

Obtiene o establece el protocolo de enlace para la


transmisin de datos a travs del puerto serie
desde Handshake.

IsOpen

Obtiene un valor que indica el estado abierto o cerrado


del objeto SerialPort.

NewLine

Obtiene o establece el valor utilizado para interpretar el


final de una llamada a los
mtodos ReadLine y WriteLine.

Parity

Obtiene o establece el protocolo de comprobacin de la


paridad.

ParityReplace

Obtiene o establece el byte que reemplaza los bytes no


vlidos en una secuencia de datos cuando se produce un
error de paridad.

PortName

Obtiene o establece el puerto de comunicaciones,


incluidos por lo menos todos los puertos COM
disponibles.

ReadBufferSize

Obtiene o establece el tamao del bfer de entrada


de SerialPort.

ReadTimeout

Obtiene o establece el nmero de milisegundos que


transcurren antes de que se agote el tiempo de espera si
una operacin de lectura no finaliza.

ReceivedBytesThreshold

Obtiene o establece el nmero de bytes en el bfer de


entrada interno antes de que ocurra un
evento DataReceived.

RtsEnable

Obtiene o establece un valor que indica si la seal


Solicitud de envo (RTS) est habilitada durante la
comunicacin en serie.

Site

Obtiene o establece la ISite de la Component.(Heredado


de Component).

StopBits

Obtiene o establece el nmero estndar de bits de parada


por byte.

WriteBufferSize

Obtiene o establece el tamao del bfer de salida del


puerto serie.

WriteTimeout

Obtiene o establece el nmero de milisegundos que


transcurren antes de que se agote el tiempo de espera si
una operacin de escritura no finaliza.

Mtodos
Nombre

Descripcin

Close()

Cierra la conexin del puerto, establece el valor de


la propiedad IsOpen en false y elimina el
objeto Stream interno.

CreateObjRef(Type)

Crea un objeto que contiene toda la informacin


pertinente necesaria para generar a un proxy
utilizado para comunicarse con un objeto remoto.
(Heredado de MarshalByRefObject).

DiscardInBuffer()

Descarta los datos del bfer de recepcin del


controlador serie.

DiscardOutBuffer()

Descarta los datos del bfer de transmisin del


controlador serie.

Dispose()

Libera todos los recursos usados por Component.


(Heredado de Component).

Dispose(Boolean)

Libera los recursos no administrados que


usa SerialPort y libera los recursos administrados
de forma opcional.
(Invalida Component.Dispose(Boolean)).

Equals(Object)

Determina si el objeto especificado es igual al


objeto actual.(Heredado de Object).

Finalize()

Libera recursos no administrados y realiza otras


operaciones de limpieza antes de que se reclame el
elemento Component durante la recoleccin de
elementos no usados.(Heredado de Component).

GetHashCode()

Sirve como la funcin hash predeterminada.


(Heredado de Object).

GetLifetimeService()

Recupera el objeto de servicio de duracin actual


que controla la directiva de duracin de esta
instancia.(Heredado de MarshalByRefObject).

GetPortNames()

Obtiene una matriz con los nombres de los puertos


serie del equipo actual.

GetService(Type)

Devuelve un objeto que representa el servicio


suministrado por Component o por Container.
(Heredado de Component).

GetType()

Obtiene el Type de la instancia actual.(Heredado


de Object).

InitializeLifetimeService()

Obtiene un objeto de servicio de duracin para


controlar la directiva de duracin de esta instancia.
(Heredado de MarshalByRefObject).

MemberwiseClone()

Crea una copia superficial del Object actual.


(Heredado de Object).

MemberwiseClone(Boolean)

Crea una copia superficial del


actual MarshalByRefObject objeto.(Heredado
de MarshalByRefObject).

Open()

Abre una nueva conexin de puerto serie.

Read(Byte[],Int32,Int32)

Lee varios bytes del bfer de entrada


de SerialPort y los escribe en una matriz de bytes
en la posicin de desplazamiento especificada.

Read(Char[],Int32,Int32)

Lee un nmero de caracteres del bfer de entrada


de SerialPort y los escribe en una matriz de
caracteres en la posicin de desplazamiento
especificada.

ReadByte()

Lee sincrnicamente un byte del bfer de entrada


de SerialPort.

ReadChar()

Lee sincrnicamente un carcter del bfer de


entrada de SerialPort.

ReadExisting()

Lee todos los bytes inmediatamente disponibles,


basndose en la codificacin, en la secuencia y el
bfer de entrada del objeto SerialPort.

ReadLine()

Lee hasta el valor de NewLine en el bfer de


entrada.

ReadTo(String)

Lee una cadena hasta el value especificado en el


bfer de entrada.

ToString()

Devuelve un String que contiene el nombre de


la Component, si existe. Este mtodo no se debe
invalidar.(Heredado de Component).

Write(Byte[],Int32,Int32)

Escribe un nmero especificado de bytes en el


puerto serie utilizando los datos de un bfer.

Write(Char[],Int32,Int32)

Escribe un nmero especificado de caracteres en


el puerto serie utilizando los datos de un bfer.

Write(String)

Escribe la cadena especificada en el puerto serie.

WriteLine(String)

Escribe la cadena especificada y el valor

de NewLine en el bfer de salida.

Campos
Nombre

Descripcin

Indica que no se debe agotar el tiempo de espera.


InfiniteTimeout

Eventos
Nombre

Descripcin

DataReceived

Indica que se recibieron datos a travs de un puerto


representado por el objeto SerialPort.

Disposed

Se produce cuando el componente se elimina mediante una


llamada a la Dispose (mtodo).(Heredado de Component).

ErrorReceived

Indica que hubo un error en el puerto representado por el


objeto SerialPort.

PinChanged

Indica que hubo un evento de seal que no es de datos en el


puerto representado por el objeto SerialPort.

Ejemplos
En el ejemplo de cdigo siguiente se muestra el uso de la SerialPort clase para permitir que dos
usuarios puedan charlar desde dos equipos independientes conectados mediante un cable de mdem
nulo. En este ejemplo, los usuarios se le solicitar un nombre de usuario y la configuracin del

puerto antes de la charla. Ambos equipos deben estar ejecutando el programa para lograr la
funcionalidad completa de este ejemplo.
using System;
using System.IO.Ports;
using System.Threading;
public class PortChat
{
static bool _continue;
static SerialPort _serialPort;
public static void Main()
{
string name;
string message;
StringComparer stringComparer =
StringComparer.OrdinalIgnoreCase;
Thread readThread = new Thread(Read);
_serialPort = new SerialPort();
_serialPort.PortName = SetPortName(_serialPort.PortName);
_serialPort.BaudRate =
SetPortBaudRate(_serialPort.BaudRate);
_serialPort.Parity = SetPortParity(_serialPort.Parity);
_serialPort.DataBits =
SetPortDataBits(_serialPort.DataBits);
_serialPort.StopBits =
SetPortStopBits(_serialPort.StopBits);
_serialPort.Handshake =
SetPortHandshake(_serialPort.Handshake);
_serialPort.ReadTimeout = 500;
_serialPort.WriteTimeout = 500;
_serialPort.Open();
_continue = true;
readThread.Start();
Console.Write("Name: ");
name = Console.ReadLine();
Console.WriteLine("Type QUIT to exit");
while (_continue)
{
message = Console.ReadLine();
if (stringComparer.Equals("quit", message))
{
_continue = false;
}
else
{
_serialPort.WriteLine(
String.Format("<{0}>: {1}", name, message));
}
}
readThread.Join();
_serialPort.Close();
}

public static void Read()


{
while (_continue)
{
try
{
string message = _serialPort.ReadLine();
Console.WriteLine(message);
}
catch (TimeoutException) { }
}
}
public static string SetPortName(string defaultPortName)
{
string portName;
Console.WriteLine("Available Ports:");
foreach (string s in SerialPort.GetPortNames())
{
Console.WriteLine("
{0}", s);
}
Console.Write("Enter COM port value (Default: {0}): ",
defaultPortName);
portName = Console.ReadLine();
if (portName == "" || !
(portName.ToLower()).StartsWith("com"))
{
portName = defaultPortName;
}
return portName;
}
public static int SetPortBaudRate(int defaultPortBaudRate)
{
string baudRate;
Console.Write("Baud Rate(default:{0}): ",
defaultPortBaudRate);
baudRate = Console.ReadLine();
if (baudRate == "")
{
baudRate = defaultPortBaudRate.ToString();
}
return int.Parse(baudRate);
}
public static Parity SetPortParity(Parity defaultPortParity)
{
string parity;
Console.WriteLine("Available Parity options:");
foreach (string s in Enum.GetNames(typeof(Parity)))
{
Console.WriteLine("
{0}", s);
}
Console.Write("Enter Parity value (Default: {0}):",
defaultPortParity.ToString(), true);

parity = Console.ReadLine();
if (parity == "")
{
parity = defaultPortParity.ToString();
}
return (Parity)Enum.Parse(typeof(Parity), parity, true);

}
public static int SetPortDataBits(int defaultPortDataBits)
{
string dataBits;
Console.Write("Enter DataBits value (Default: {0}): ",
defaultPortDataBits);
dataBits = Console.ReadLine();
if (dataBits == "")
{
dataBits = defaultPortDataBits.ToString();
}
return int.Parse(dataBits.ToUpperInvariant());
}
public static StopBits SetPortStopBits(StopBits
defaultPortStopBits)
{
string stopBits;
Console.WriteLine("Available StopBits options:");
foreach (string s in Enum.GetNames(typeof(StopBits)))
{
Console.WriteLine("
{0}", s);
}
Console.Write("Enter StopBits value (None is not supported
and \n" +
"raises an ArgumentOutOfRangeException. \n (Default:
{0}):", defaultPortStopBits.ToString());
stopBits = Console.ReadLine();
if (stopBits == "" )
{
stopBits = defaultPortStopBits.ToString();
}
return (StopBits)Enum.Parse(typeof(StopBits), stopBits,
true);
}
public static Handshake SetPortHandshake(Handshake
defaultPortHandshake)
{
string handshake;
Console.WriteLine("Available Handshake options:");
foreach (string s in Enum.GetNames(typeof(Handshake)))
{
Console.WriteLine("
{0}", s);
}
Console.Write("Enter Handshake value (Default: {0}):",
defaultPortHandshake.ToString());
handshake = Console.ReadLine();

if (handshake == "")
{
handshake = defaultPortHandshake.ToString();
}
return (Handshake)Enum.Parse(typeof(Handshake), handshake,
true);
}
}

Anda mungkin juga menyukai