¿Qué software de inicio de sesión de puerto serie está disponible para entornos Windows?
Las API de comunicación de los primeros Windows 3.x y Windows 9x/NT/2000 son muy diferentes. En los programas de comunicación en serie de 16 bits, generalmente se utilizan las funciones de comunicación de la API de Windows de 16 bits. Para tener una comprensión integral de la comunicación serie, a continuación se ofrece una breve introducción a las funciones de comunicación API de Windows de 16 bits:
(1) Abrir y cerrar el puerto serie
OpenComm() abre el recurso del puerto serie y especifica el tamaño de los buffers de entrada y salida en bytes;
CloseComm() cierra el puerto serie;
Ejemplo:
Este ejemplo muestra el uso de funciones de comunicación API de Windows de 16 bits en un programa de comunicaciones serie de 16 bits.
Ejemplo:
int idComDev;
idComdev=OpenComm("COM1", 1024, 512);
CloseComm(idComDev) ;
(2) Inicialice el puerto serie
BuildCommDCB() y setCommState() completen el bloque de control del dispositivo DCB y luego configure los parámetros del puerto serie abierto, ejemplo:
DCB dcb;
BuildCommDCB("COM1: 2400, n, 8, 1", y dcb);
SetCommState(y dcb);
(3) Operaciones de lectura y escritura en el puerto serie
ReadComm, WriteComm() realiza operaciones de lectura y escritura en el puerto serie, es decir, recepción y transmisión de datos. . Ejemplo:
char *m_pReceive; int cuenta;
ReadComm(idComDev, m_pReceive, cuenta);
Char int cuenta2;
p>
p>
WriteComm(idComDev, wr, count2);
A través de la descripción anterior, podemos ver que la característica más importante del programa de comunicación serial de 16 bits es que el serial El puerto y otros dispositivos externos tienen sus propias funciones API únicas.
La API en Windows 9x/NT/2000 normalmente admite operaciones de 32 bits, por lo que también se llama Win32API. Para implementar la transferencia de datos en serie en los sistemas anteriores, se puede utilizar la API de comunicación Win32. La API de comunicaciones Win32 es básicamente una API de puerto serie y no es adecuada para comunicaciones de red de área local (LAN).
Mientras que las LAN suelen serializar los bits de datos antes de enviarlos a través de la línea, exactamente como lo hace una ventana o un módem antes de enviar datos, las LAN suelen utilizar menos bits de línea que los puertos serie y también utilizan protocolos de acceso, enrutamiento, seguridad y corrección de errores que tienen poca importancia. parecido con los protocolos de puerto serie. Las capas de protocolo necesarias para la comunicación LAN dificultan que la API de comunicación Win32 satisfaga las necesidades de estas aplicaciones. Por lo tanto, el protocolo TCP/IP es más adecuado para la comunicación y las conexiones de red que la API de comunicación Win32.
El sistema operativo Windows es un sistema operativo interrumpible, por lo que el intervalo de tiempo de las aplicaciones de Windows a menudo corre el riesgo de ser reemplazado por otros programas, por lo que la API de comunicación Win32 no se puede utilizar para la comunicación en tiempo real. La calidad de la comunicación en tiempo real está estrechamente relacionada con el tiempo. Por ejemplo, los datos de audio digitalizados son datos en tiempo real porque la calidad del sonido depende de la velocidad a la que se reproduce. Al grabar audio, el audio se digitaliza a una velocidad determinada, que se denomina frecuencia de muestreo. Los sonidos deben reproducirse con la misma frecuencia de muestreo; de lo contrario, sonarán demasiado lentos o demasiado rápidos. De hecho, la reproducción de vídeo no es en tiempo real, es sólo la parte de los datos almacenados en el búfer. Por lo tanto, la comunicación interactiva en tiempo no real que no requiere muchas capas de protocolo se puede lograr utilizando la API de comunicaciones Win32, que unifica las operaciones de puertos serie (y puertos paralelos, etc.) con operaciones de archivos que utilizan operaciones similares.
(2) Funciones API relacionadas con la comunicación en serie de Windows
"Si desea hacer bien su trabajo, primero debe perfeccionar sus herramientas. Esta sección comenzará desde la perspectiva de". Se introducen las funciones API de Windows de 32 bits relacionadas con la comunicación en serie, tratando de brindar a todos una comprensión completa y precisa.
2.
2.1 Abrir y cerrar el puerto serie
1 Abrir el puerto serie
En Windows de 32 bits, el. puerto serie Los puertos de línea y otros dispositivos de comunicación se tratan como archivos. Las funciones utilizadas para abrir, cerrar, leer y escribir puertos serie son las mismas que se utilizan para operar archivos.
Una sesión de comunicación comienza con una llamada a CreateFile(), que "abre" el puerto serie para acceso de lectura, acceso de escritura o acceso de lectura/escritura. Como es una práctica común en Windows, CreateFile() devolverá un identificador al puerto serie, y una de las razones de esta complejidad es que el uso posterior de la función CreateFile() será muy complicado cuando se opera en un puerto abierto. Su versatilidad. . Puede utilizar CreateFile para abrir archivos existentes, crear archivos nuevos y abrir dispositivos que no son archivos en absoluto, como puertos serie, puertos paralelos y módems. La declaración de la función CreateFile() es la siguiente:
HANDLE CreateFile(
LPCTSTR lpszName,
DWORD fdwAccess,
DWORD fdwShareMode,
p>
LPSECURITY_ATTRIBUTES lpsa,
DWORD fdwCreate,
DWORD fdwAttrsAndFlags,