TODOPIC

Lenguajes de programación para PC => Visual Basic => Mensaje iniciado por: PicMinor en 03 de Junio de 2019, 07:31:23

Título: Control SPI desde el puerto serie en VB6
Publicado por: PicMinor en 03 de Junio de 2019, 07:31:23
Saludos al foro!

Estoy intentando modificar un viejo control con SPI que funciona a través del puerto paralelo y manejarlo desde el puerto serie.

A parte de la adaptación de niveles, inversión de señales, etc, me he encontrado con un problemilla que no veo cómo resolver:

Para el control SPI necesito tres líneas de salida (CS, DAT y CLK) y en el puerto serie dispongo de tres líneas de salida: RTS. DTR y... TXD. En esta aplicación no necesito leer datos por lo que uso solo líneas de salida.

Pues ahí tengo el problema, las líneas RTS y DTR no hay problema en ponerlas a uno o a cero mediante el control MSComm (DTREnable y RTSEnable) pero para la línea TXD no hay nada equivalente, solo se pueden transmitir datos por lo que yo he entendido.

Ahí viene mi pregunta: ¿Alguien sabe cómo poner a uno o a cero la línea TXD del puerto serie sin transmitir datos?

Gracias por adelantado!
Título: Re:Control SPI desde el puerto serie en VB6
Publicado por: Eduardo2 en 03 de Junio de 2019, 08:54:34
...
Ahí viene mi pregunta: ¿Alguien sabe cómo poner a uno o a cero la línea TXD del puerto serie sin transmitir datos?

En '1' es el estado normal de la línea en ausencia de transmisión.
Para ponerla en '0' todo el tiempo se programa un break (https://docs.microsoft.com/en-us/windows/desktop/api/winbase/nf-winbase-setcommbreak) 

Ojo que en el puerto la polaridad de la señal TX está invertida.  '1' -> negativo  (~ -12 en general) y  '0' -> positivo (~ 12V en gral)