Cómo producir señales de reloj con datos en el puerto serie

Estoy diseñando un convertidor de serie a paralelo con microcontrolador PIC16f84A. Donde voy a usar el pin RA0 para la entrada de datos, RA1 para la entrada de reloj y RB0 a RB7 para la salida de datos paralelos de MCU. Ahora no puedo entender cómo producir señales de reloj con señales de datos, ya que el puerto serie RS232 tiene solo un pin para la transmisión de datos, y también el programa Hyper Terminal solo usa el pin no. 3 solo para transmisión de datos.

¿Qué tipo de reloj quieres producir? Dado que la serie parece ser su entrada, supongo que desea proporcionar un reloj con su salida paralela de 8 bits.

Respuestas (2)

RS232 no implica un reloj transmitido; el receptor debe sincronizarse con la transmisión usando el bit de inicio, y la tasa de baudios debe acordarse de antemano (o inferirse de una secuencia de caracteres transmitidos, a veces llamado "auto-baudios")

(Si ese PIC tiene un UART, podría usarlo para facilitar este proyecto)

En realidad, es posible "adivinar" la tasa de baudios. Varias implementaciones pueden hacer esto en hardware donde encuentran la tasa de baudios sin saberlo de antemano.
El PIC16f84a no tiene una funcionalidad UART integrada. Si configuro la velocidad en baudios en el momento de la programación, creo que pueden ocurrir errores de tiempo.
Independientemente de un UART de hardware o software, configurar la tasa de baudios en tiempo de compilación está bien si 1) el reloj del dispositivo desde el cual se divide la tasa de baudios es lo suficientemente preciso y el error de redondeo de división está dentro de la tolerancia y 2) el equipo conectado usa solo el tasa de baudios elegida, y la utiliza con suficiente precisión.

Puede implementar un psuedo-reloj golpeando los pines adicionales en un puerto serie (DTR, RTS). Necesitaría un controlador personalizado o programación c. Dado que está utilizando una hiperterminal, deberá buscar una implementación de Windows.