Física, perguntado por marlimedeiros, 1 ano atrás

É importante que o desenvolvedor de sistemas embarcados conheça os elementos do hardware que está operando, além de programar. O sistema de interrupções, por exemplo, deve ser muito bem entendido para a criação de soluções com interrupção.
A respeito da teoria envolvida no desenvolvimento de sistemas embarcados com o chip ATmega328, que utilizam interrupções, qual alternativa contém uma afirmação verdadeira?
a.
Os registradores PCMSKx são usados para habilitar ou não uma fonte de interrupção do tipo INTx, e não podem ser acessados diretamente pelo programa usuário, mas apenas por funções pré-compiladas em Assembly, disponibilizadas pelo fabricante.
b.
As interrupções são de fato idênticas às funções, em todos os aspectos. A única diferença é que as funções são “trechos de programa” que são invocados por outras funções, e as rotinas de tratamento de interrupção são trechos de programa que são invocados pelo módulo interno de controle de interrupções. Esse, por sua vez, pode invocar as funções do programa, e possui acesso direto com o programa usuário, com algumas instruções dedicadas para troca de informação durante a execução (em tempo real).
c.
As interrupções são as responsáveis por retirar o sistema de estados de hibernação, e por isso pode ser usada pelo programa usuário para permitir que o sistema poupe energia quando possível. Além disso, estas também podem ser usadas para prover tempos mais curtos para respostas de requisições de tratamento, principalmente quando se deseja sincronizar muitas tarefas em tempo real.
d.
Não são todas os canais de todas as portas digitais que podem gerar interrupções do tipo PCINTx, no entanto, todas as portas do microcontrolador, possuem algum canal com acesso a interrupções do tipo INTx, nem que seja apenas um.
e.
O vetor de interrupções do ATmega328 não está alocado na memória de programa de maneira contínua, mas espalhado. Isso se deve ao fato de que cada interrupção tem uma posição no vetor, e nos endereços consecutivos estão as primeiras instruções da rotina de interrupção. A função principal, main, por exemplo, está alocada nos primeiros endereços da memória de programa, pois é a primeira a ser invocada quando o programa começa.

Soluções para a tarefa

Respondido por warcaronte
2
as interrupções são responsaveis por retirar do sistema de hibernação e por isso pode ser usada pelo programa usuario para permitir que o programa poupe energia quando possível, Alem disso também podem ser usados para prover tempos mais curtos para resposta de requisição e tratamento principalmente quando se deseja sincronizar muitas tarefas ao mesmo tempo real.
Perguntas interessantes