por zazulak » 20 Abr 2010 23:14
Relembrando os tempos em que serial RS232 era a bola da vez.
O padrão determina dois tipos de dispositivos: ETD e ECD, que significam respectivamente 'Equipamento Terminal de Dados' e 'Equipamento de Comunicação de Dados'. ETD é aquele sujeito que fica num dos extremos da linha, exibindo a informação na tela, coletando via teclado, e afins. ECD é aquele que fica no caminho, responsável por fazer a informação chegar lá do outro lado.
Bom,
RTS = Request to send = Requisição para envio = O dispositivo ETD (terminal) dizendo para o ETD (modem, por exemplo) "Acorda e te arruma que eu preciso que tu leve uma encomenda".
CTS = Clear to send = Limpo para envio = O dispositivo ECD respondendo "Tô liberado, pode largar o pacote pra mim que eu levo".
Em alguns casos como, por exemplo, modem configurado para operar sem portadora constante, é absolutamente necessário este controle de fluxo, porque quando o ETD manifestar a intenção de enviar algo, o ECD tem que estabelecer a portadora antes de começar a transmitir, e isso leva algum tempo.
--------------------------------------------------------
Para implementar isto num microcontrolador, a lógica é: Aciona RTS, espera que o dispositivo responda com o CTS, então envia. Se enviar antes de receber o CTS, corre o risco de o dispositivo remoto perder parte da informação, invalidando-a.