Tempo de quadro UART
A calculadora de tempo de quadro UART transforma uma configuração serial em uma duração exata de transmissão.
Executar grátis
Informe a taxa de baud, os bits de dados, a paridade e os bits de parada para obter o período de bit, o total de bits, o tempo em várias unidades e os quadros teóricos por segundo. O modelo inclui o bit inicial obrigatório e toda a sobrecarga configurada, sendo mais preciso do que dividir bytes úteis pela taxa. O cálculo é determinístico, não acessa a rede e atende a projetos, firmware, testes e documentação de protocolos.
Conte todas as partes do quadro UART
Uma transmissão UART não envia apenas os dados úteis. A linha ociosa muda primeiro por um bit inicial, depois transporta os bits de dados, pode incluir um bit de paridade e termina com um ou mais períodos de parada. Esta calculadora soma esses componentes antes de dividir pela taxa de baud. No formato comum 8N1, existem um bit inicial, oito bits de dados, nenhum de paridade e um de parada, totalizando dez períodos. Em 115200 baud, o quadro dura dez dividido por 115200 segundos, e não oito dividido por 115200. Paridade par, ímpar, marca ou espaço acrescenta um período; 1.5 ou 2 bits de parada também entram integralmente na conta. A resposta discrimina cada componente e apresenta a duração em segundos, milissegundos e microssegundos. Assim, você prepara timeouts, medições de osciloscópio, marcações de analisador lógico e notas técnicas sem conversões manuais nem risco de esquecer a sobrecarga do enquadramento.
Interprete corretamente baud e os resultados
Em uma UART binária convencional, cada símbolo representa um bit; portanto, 9600 baud significam 9600 períodos de bit por segundo. O tempo de bit é um dividido pela taxa, enquanto o tempo do quadro é o total de períodos dividido pela mesma taxa. O campo frames_per_second indica o limite ideal de transmissão contínua. Ele pressupõe quadros consecutivos e não inclui atrasos do software, controle de fluxo, intervalos de pacote, latência de interrupção, agendamento USB ou processamento da aplicação. Use-o como teto, não como garantia de vazão completa. O cálculo descreve o enquadramento, mas não avalia tolerância de oscilador ou erro de baud. Regras de amostragem e limites do hardware determinam a confiabilidade real; consulte o datasheet do microcontrolador, conversor UART ou transceptor. São aceitos 1, 1.5 ou 2 bits de parada e os modos none, even, odd, mark e space. Valores fora desses conjuntos falham claramente em vez de serem arredondados para outra configuração.
Use o tempo em buffers, timeouts e protocolos
O tempo do quadro é valioso quando um protocolo serial envia mensagens de tamanho fixo. Multiplique frame_time_seconds pela quantidade de caracteres para calcular o tempo no fio; depois acrescente o intervalo obrigatório do protocolo e uma margem realista para escalonamento ou processamento. Isso ajuda você a definir um timeout de recepção longo o suficiente para o enlace, mas curto o bastante para perceber uma resposta ausente. O valor frames_per_second também apoia o dimensionamento de buffers, pois mostra a taxa máxima de chegada sem pausas e permite compará-la à capacidade da tarefa consumidora. Na validação do hardware, compare os períodos informados com cursores do analisador lógico para identificar divisor de baud incorreto ou paridade inesperada. O cálculo termina em um quadro e não presume comprimento de mensagem, intervalo, padrão elétrico ou controle de fluxo. RS-232, RS-485 e UART TTL têm tensões e topologias diferentes, mas seguem a mesma equação temporal quando a taxa declarada é a taxa real de sinalização.
Casos de uso
Definir timeout de recepção
Estime o tempo mínimo de cada caractere antes de acrescentar tamanho da mensagem, processamento e margem de segurança.
Conferir capturas do analisador lógico
Compare larguras medidas de bits e quadros com os valores previstos para a configuração UART escolhida.
Estimar a vazão serial máxima
Use quadros ideais por segundo para avaliar pressão nos buffers e medir a sobrecarga do enquadramento.
Perguntas frequentes
Quanto custa a calculadora de quadro UART?
Ela funciona gratuitamente no navegador. Um cálculo bem-sucedido pela API custa US$ 0,002.
Todo quadro UART possui um bit inicial?
Sim. Este modelo inclui um bit inicial em cada quadro UART assíncrono.
Como a paridade altera o tempo?
Paridade par, ímpar, marca e espaço acrescenta um período; none não acrescenta nenhum.
Por que 8N1 soma dez bits, e não oito?
Os oito bits de dados são acompanhados por um bit inicial e um de parada, totalizando dez períodos.
Quadros por segundo equivalem à vazão da aplicação?
Não. É o limite ideal sem pausas e exclui controle de fluxo, processamento, pontes de transporte e sobrecarga de protocolo.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/elec/uart-frame-time \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"baud_rate":115200}'const res = await fetch("https://api.kit.forhosting.com/elec/uart-frame-time", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"baud_rate": 115200
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/elec/uart-frame-time",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"baud_rate": 115200
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/elec/uart-frame-time", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"baud_rate":115200}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"baud_rate":115200}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/elec/uart-frame-time", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"baud_rate": 115200
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "elec.uart_frame_time",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |