Questão FC868833
Em um sistema embarcado cuja a comunicação serial (UART) seja crucial, a abordagem mais eficiente, em termos de desempenho, para lidar com a recepção de dados pela UART em um micro
Eletrônica
FGV · 2026
Em um sistema embarcado cuja a comunicação serial (UART) seja crucial, a abordagem mais eficiente, em termos de desempenho, para lidar com a recepção de dados pela UART em um microcontrolador, especialmente quando a perda de dados deve ser minimizada, é
- utilizar um laço de repetição (while) para verificar o registrador de dados da UART (polling).
- implementar uma rotina de interrupção (ISR) que seja acionada a cada novo caractere recebido pela UART.
- usar a instrução Delay() para esperar por um tempo fixo pela chegada do dado.
- transferir a leitura dos dados para um S.O. de tempo real (RTOS)
- armazenar os dados recebidos em uma memória externa (EEPROM).
Mostrar resposta e comentário
Gabarito
B
Comentário do professor
Implementar uma rotina de interrupção (ISR) acionada a cada caractere recebido é a opção mais eficiente quando a perda de dados deve ser minimizada. A ISR responde imediatamente ao evento de recepção, lendo o registrador de dados da UART e liberando a flag de interrupção, reduzindo latência e evitando que bytes sejam sobrescritos no hardware.
Para manter alto desempenho, a ISR deve ser curta: mover o byte para um buffer circular e sinalizar a tarefa principal para processamento posterior. Evite operações demoradas dentro da ISR, como I/O bloqueante ou formatação complexa.
Combine a ISR com configuração adequada do FIFO e tratamento de flags de overflow para detectar perdas. Priorize interrupções corretamente e dimensione o buffer conforme a taxa de chegada para garantir robustez em cenários com picos de tráfego.
Conteúdo do catálogo FC Concursos · Atualizado em