Controle de fluxo

Um importante aspecto da comunicação serial é o conceito de controle de fluxo. Trata-se da habilidade de um dispositivo em ordenar que outro pare de enviar dados por um momento. Os comandos Solicitação de envio (RTS), Pronto para enviar (CTS), Terminal pronto (DTR) e Modem pronto (DSR) são utilizados para habilitar o controle de fluxo.


Placa com duas portas seriais

Vejamos um exemplo de como o controle de fluxo funciona: você possui um modem que se comunica a 56 Kbps. A conexão serial entre o seu computador e o modem transmite a 115 Kbps, o que é mais que o dobro da velocidade. Isso significa que o modem está recebendo mais dados do computador do que pode transmitir pela linha telefônica. Mesmo que o modem possua um buffer de 128K para armazenamento de dados, ele logo ficará sem espaço disponível no buffer e será incapaz de funcionar adequadamente com o fluxo de dados que chega.

Com o controle de fluxo, o modem pode parar o fluxo de dados provenientes do computador antes que ele ultrapasse o buffer do modem. O computador envia constantemente um sinal no pino RTS e verifica se há sinal no pino CTS. Se não houver resposta do pino, o computador pára de enviar os dados, aguardando a resposta do pino CTS antes de reiniciar. Isso permite que o modem mantenha o fluxo de transferência de dados sem maiores problemas.