.NET en el puerto serie (COM) operación de escritura de resumen

Recientemente se resume en tres maneras serie (COM) leen y operaciones de escritura:
primeras formas es utilizar Microsoft .NET2.0 puso en marcha una serie de clases de control, SerialPort, pero debe ser antes de que puedan .NET2.0
segundo maneras se escribir comunicación serie con el API, aunque el grado de dificultad es alto, pero se puede lograr fácilmente sus diversas funciones deseadas
de las tres maneras es a través del uso de Estudio de control de Visual Basic 6.0 MSComm en el original este es el método más simple y más conveniente, pero requiere estar registrado

El siguiente análisis detallado de la utilización de cada enfoque, y proporcionar ejemplos para descargar:


R. En primer maneras:
.NET 2.0 proporciona soporte para las funciones de comunicación en serie, encontrar la clase SerialPort en los System.IO.Ports de espacio de nombres, mediante la creación de un nuevo objeto SerialPort, podemos controlar el puerto serie en el programa .NET todo el proceso de comunicación.

(1). Atributo describe
cuando la comunicación en serie, es necesario establecer algunos parámetros, puede ser realizado por ajuste de la clase propiedades SerialPort.
SERIALPORT atributos incluyen:
Nombre serie .PortName, COM1, COM2 y así sucesivamente.
.BaudRate velocidad de transmisión, que es la velocidad de la comunicación en serie, la velocidad de transmisión de comunicación en serie tanto requieren el mismo, si la conexión con otros sistemas que no son PC PC, en general, la velocidad de transmisión se determina por los sistemas de no-PC.
.Parity paridad. Paridad puede seleccionar el valor de enumeración
bits de datos .DataBits
.StopBits bits de parada, los valores enumerados StopBits
.Handshake apretón de manos, es decir, flujo de datos de control, los valores enumerados Handshake

(2) abierta y cerrada de la boca
después de crear un objeto SerialPort propiedades establece el puerto serie y para ser método () del Abierto de abrir una serie. Después de la finalización de la lectura y el método, () a través del puerto serie para cerrar Cerrar la escritura de datos.
De acuerdo con la experiencia, para algunos sistemas, después de abrir el puerto serie, también es necesario RTSEnable establece en True, con el fin de leer y escribir datos, o no puede leer y escribir datos correctamente.

(3) Las líneas de datos de lectura-escritura
se bloquea el método ReadLine () hasta que se encuentra después de un retorno de línea nueva. Cuando la lectura de datos, si no se ha encontrado con un salto de línea, a continuación, después de esperar el tiempo ReadTimeout, lanzar una TimeoutException. Por defecto, ReadTimeout a InfiniteTimeout. De esta manera, ReadLine estado en un estado bloqueado hasta que una nueva fila de datos llega.
El método WriteLine () también se bloquea, si la otra parte no oportuna recibir los datos, que hará que TimeoutException anormal.
Dado que el método ReadLine () y WriteLine () bloqueará, y cuando el programa usando la comunicación en serie SerialPort, la lectura y la escritura en general debe ser entregado a otro procesamiento de hilo, para evitar la obstrucción causada porque el programa no está respondiendo.

(4) Para leer y escribir bytes o caracteres de datos
de un byte o caracteres de datos, un método Read () para leer los datos, este método requiere una matriz de bytes de datos o el carácter para almacenar el parámetro de lectura como resultado leído realmente se devuelve el número de bytes o caracteres.
escritura de datos utilizando el método de escritura (), el método puede enviar una matriz de bytes, o una cadena de datos de caracteres a otra parte.

(5) Evento
SerialPort proporciona evento DataReceived. Cuando se introducen los datos, el evento se activa.
El evento de activación es determinada por el sistema operativo, cuando los datos llegan, el evento se activa en un hilo secundario. subproceso de trabajo prioritario es relativamente baja, y por lo tanto no se puede asegurar que cada byte de datos llegan, los eventos se desencadenan.

 


B. 2 maneras:
.JustinIO.cs, colección en línea de lectura y escritura de una serie tipo, con muy buena (1).

 

Este ejemplo es un puerto serie tarjeta de captura que hago leer el pequeño programa, utilice el Justinio

. (3) Un fenómeno extraño
me gusta JustinIO.cs escribir un puerto serie, tarjeta de captura de applet de
entorno de desarrollo: Win2003, .net2.0, puerto serie COM1

Encuentro un fenómeno extraño:
ejecutar el programa de escribir su propio arranque, después de enviar, no recepción de datos
, sin embargo, utilizar el "asistente de depuración de serie 2.0" puerto COM1 abierta, envío y recepción normal!
Ejecute el programa de nuevo a escribir, enviar y recibir normal!
Es decir, cuando sólo máquinas, debe utilizar el "asistente de depuración de serie de 2.0" y las comunicaciones en serie, mi programa no puede comunicarse correctamente! ~
No entendía cómo sucede?
Uso de localizar a un bit de datos en serie es conjunto equivocado. Originalmente establecido en el código es de 8 bits, utilizado justio tiempo de ejecución es de 7 bits.

 

C. 3 maneras:
el uso del control MSComm:
(1) Copia Mscomm.srg, Mscomm32.ocx, Mscomm32.dep tres archivos a las carpetas del sistema. Tenga en cuenta que, el control MSComm a autorizarse, es necesario el uso de la "Licencia" licencia inscrita en el registro, el siguiente paso es inscribirse. En cuanto a por qué, (2) con una herramienta de registro en Windows regsvr32 para registrar los controles OCX, haga clic en "Inicio" -> "Ejecutar" y luego llenar (suponiendo que el operativo instalado en la unidad C, WIN2000) :. Regsvr32 C : \ WINNT \ system32 \ Mscomm32.ocx
(3) en el registro a mano para crear un nuevo artículo en su clave primaria:. primero haga clic en "inicio" -> "ejecutar" y luego llenar el regedit comando para abrir el registro, busque la HKEY_CLASSES_ROOT \ Licencias en el que se añade la clave principal: 4250E830-6AC2-11cf-8ADB-00AA00C00905 y contenido a: kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun
. (4) añadir control de Microsoft Comm "elemento añadido" componente COM en la caja de herramientas, versión de referencia 6.0. Tal uso de control MSComm puede operar en el puerto serie! Guangzhou sustituto [eléctrica 13802269370]   sustituto Beijing consultar eléctrica 13802269370    sustituto [micro 13802269370] +

Supongo que te gusta

Origin www.cnblogs.com/bbc2020/p/12502388.html
Recomendado
Clasificación