Programación del puerto serie con NET (3 / 6 paso)

Paso 3: Formas de leer desde el puerto

Si queremos continuamente leer desde un puerto serie y, por ejemplo, mostrar todo lo que leemos en una ventana de consola la forma más sencilla de hacerlo sería hacer esto sería crear un bucle y repetidamente llama a uno de nuestros métodos de lectura. Mientras que este método hace el trabajo, hay algunas desventajas significativas a él. En primer lugar, es muy limitante ya que tienes que estar constantemente llamando el mismo método una y otra vez y le pegan en el bucle.

Otro problema que se presenta con los métodos de lectura es que si no hay datos en el búfer de entrada cuando usted los llama, estancará la ejecución de su programa hasta que haya datos para leer (comportamiento similar al método Console.ReadLine(), el programa no continúe hasta que las visitas entren). Hay propiedades que puede establecer el método para volver después de un retraso específico de la fuerza, pero en general no desea que su programa de correr más lento de lo que debe.

Una mejor manera de estar continuamente leyendo es comprobar si hay datos para ser leídos en el búfer de entrada mediante la propiedad SerialPort.BytesToRead. Esta propiedad devuelve el número de bytes en el búfer de entrada que necesita ser leído. Con esto podríamos configurar un bucle que omitirá el código leer si no hay nada en el búfer de entrada. Aquí está un ejemplo:

mientras que (verdad)
{
tratar de
{
Si //if (mySerialPort.BytesToRead > 0) allí es datos del búfer de
{
mySerialPort.ReadByte(); leer un byte
}
otro código que puede ejecutar sin ser sostenido por Lee método.
}
catch (IOException ex)
{
lógica de gestión de error
}
}

Este procedimiento es más eficiente que el método anterior y funciona para muchas situaciones sencillas donde todos están haciendo realmente es continuamente lectura del puerto. Echemos un vistazo a un escenario diferente. ¿Qué pasa si estaban creando un gran complejo programa manejar muchas tareas y no sería capaz de trabajar dentro de un bucle infinito? Por suerte para usted, la clase SerialPort ha creado un evento que se provoca cada vez que hay nuevos datos en el búfer de entrada. Para quien no sabe es que un evento, que un evento es algo que interrumpe su programa cuando algo importante sucede, llama a un método para afrontar el evento y luego regresa a donde dejaste el programa. En nuestro caso cuando se reciben datos por el búfer de entrada, el evento detener el programa, llamar a un método donde sería más probable es que manejar los datos y luego volver a donde lo dejó nuestro programa. Ahondará en esto en el siguiente paso.

Artículos Relacionados

Haciendo que Arduino del puerto serial con visual basic

Haciendo que Arduino del puerto serial con visual basic

Vamos a hacer la interfaz del programa para conectar el puerto serie con Visual Studio.Echemos un vistazo a los detalles del programa.Herramientas que utilizamos en el formulario:botón de 3 piezas2 ComboBox número3 etiqueta de la piezapuerto seriePas
Leer y escribir de puerto serie con frambuesa Pi

Leer y escribir de puerto serie con frambuesa Pi

En este tutorial veremos cómo utilizar el puerto serie en Raspberry Pi. Utilizaremos el puerto serie disponible en frambuesa con un 3-5, 5V adaptador de RS232/TTL y un adaptador USB-serial. Por defecto puerto serial de la Raspberry Pi está configurad
El puerto serie - software de configuración

El puerto serie - software de configuración

si están tratando de controlar algo en el mundo real usando su computadora, el puerto serie es quizás el medio más fácil de comunicación. Voy a pie a través del proceso de creación de un puerto serie y el hyperterminal en un ordenador con windows XP.
Cómo se mide la potencia del láser de CO2 láser máquina de grabado y corte por láser utilizando un simplificado (bajo coste) CO2 láser medidor de potencia

Cómo se mide la potencia del láser de CO2 láser máquina de grabado y corte por láser utilizando un simplificado (bajo coste) CO2 láser medidor de potencia

medidores de potencia láser más CO2 son muy costosos y están equipadas con capacidades mucho más allá de lo que necesita el común láser máquina operador/propietario.  Estas instrucciones muestran una sub-$100 laser power meter sonda en el trabajo, to
Cómo utilizar una sonda de alimentación 200 vatios CO2 láser para medir la potencia del láser CO2

Cómo utilizar una sonda de alimentación 200 vatios CO2 láser para medir la potencia del láser CO2

este video muestra cómo utilizar la sonda de alimentación Mahoney CO2 laser.  La sonda de alimentación de CO2 láser es un dispositivo comúnmente utilizado y necesario para:1. Mida laser de potencia de salida para la configuración del láser con el tie
Frambuesa PI USB vs comunicaciones en serie con gsm shield (escudo de a-gsm itbrainpower.net)

Frambuesa PI USB vs comunicaciones en serie con gsm shield (escudo de a-gsm itbrainpower.net)

Sobre este cómoEste cómo se refiere a la itbrainpower.net del escudo de un gsm, teniendo características principales siguientes:Compatibilidad en todo el mundo - módulo de banda cuádrupleGSM / GPRS / SMS / DTMF compatibleDos zócalos SIM (sola SIM act
Sostenedor de acrílico 3D impresora filamento carrete del - corte láser con mandril de aluminio

Sostenedor de acrílico 3D impresora filamento carrete del - corte láser con mandril de aluminio

Mi primer kit de impresora 3D vino con un láser de corte portacarretes acrílico filamento que lució en la varilla roscada con tuercas en los extremos para sujetar la bobina del filamento. Al principio me gustaba, no funcionó bien. Entonces decidí ree
Controlar dispositivos del mundo real con el PC

Controlar dispositivos del mundo real con el PC

este Instructable muestra cómo la interfaz de un PC y un microcontrolador. Esta demo será sentir el valor de una olla o cualquier análogo de entrada y también controlar un servo. Costo total es menor $40 incluyendo el servo. El servo se activa un mic
Puerto serie remoto Spark.IO

Puerto serie remoto Spark.IO

Puerto serie remoto Spark.io (repuestos) puede utilizarse para una variedad de tareas en un laboratorio, oficina o casa. Conecta un dispositivo con un puerto serial a la red local o internet mediante TCP/IP. Puertos serie están presentes en muchos di
Gestión inteligente del tráfico con el Internet de las cosas

Gestión inteligente del tráfico con el Internet de las cosas

Un dispositivo inteligente pide un controlador para acelerar o frenar para pasar sólo señales verdes. Esta manera, se pueden lograr economías de combustible de carretera en la ciudad, reducción de la contaminación hasta un 25%Paso 1: Una breve introd
Cómo conectar Arduino a un PC a través del puerto serial

Cómo conectar Arduino a un PC a través del puerto serial

a lo que yo he utilizado un ordenador con Ubuntu 12.04 y el lenguaje de programación C++, pero si quieres usa Windows el código funciona, sólo tienes que cambiar el puerto utilizado para conectar con arduino, pero esto se explica en el siguiente paso
Utilizar puerto de juegos de Sidewinder de 15 pines a través del puerto paralelo

Utilizar puerto de juegos de Sidewinder de 15 pines a través del puerto paralelo

Este instructable le mostrará cómo poner tu edad 15 pines MS Sidewinder para volver a utilizar.  Yo tuve uno de estos de mentira alrededor de la casa y recordó lo mucho que amo el diseño de botón imitando el mando clásico de Sega Saturn; sin embargo,
Monitor de flujo de agua - Arduino Powered del Laser del CO2 / Windows con control

Monitor de flujo de agua - Arduino Powered del Laser del CO2 / Windows con control

Alarma y Monitor de flujo de agua de láser de CO2Accionado por un Arduino y controlados por software a la medida de un PC con WindowsPara alargar la vida de un CO2 tubo del laser es necesario bomba de enfriamiento de agua a través de él mientras está
Arduino Nano y Visuino: medir la velocidad del Motor (RPM) con optoacoplador y Encoder de disco

Arduino Nano y Visuino: medir la velocidad del Motor (RPM) con optoacoplador y Encoder de disco

Al construir un coche de la robusteza, es importante controlar la velocidad de la rotación de las ruedas. Antes de que podemos controlar la velocidad sin embargo, necesitamos ser capaces de medirlo. Una de las maneras más populares y más fácil de med