Alinguagem de programação c é muito utilizada para desenvolvimento de programas embarcados, e conta

com uma coleção de regras de sintaxe e de semântica, que devem ser conhecidas e utilizadas pelo programador para construir seus programas.

considere um programa embarcado em linguagem c, desenvolvido para o microcontrolador atmega328, onde um led é acionado a cada iteração de acordo com o valor da variável unsigned char portled; . por que o comando portled ^= 0xff; pode ser usado para isso, invertendo o estado da variável, e consequentemente do led?

escolha uma:
a. porque esse comando representa uma operação lógica and, e a cada vez que ela é executada, o estado da variável/saída do led é invertido.
b. na verdade, esse comando não é responsável por inverter o estado das variáveis, mas sim por acionar os seus bits, apenas. dessa forma, esse comando está sempre acionando as saídas, ao invés de ligar uma vez, e desligar na próxima, assim sucessivamente.
c. porque esse é um comando especial para os microcontroladores da família avr, e, apesar de não ter nenhuma ligação com operações lógicas, é um comando responsável por inverter os estados da saída, também conhecido em inglês como toggle.
d. porque todas as vezes que uma porta configurada como saída digital recebe algum comando com o operador “^” os seus estados são automaticamente alternados para o outro valor binário, o que se mostra muito útil em alguns casos especiais.
e. esse comando é uma abreviação do comando de operação lógica de um único operador, onde o seu próximo valor será o resultado do valor atual com a operação xor (ou exclusivo) com os bits 0b. essa operação lógica faz com que todos os bits da variável portled (e saída) sejam invertidos, independente dos seus estados.

RESPONDER

alvesdasilvamariaedu está aguardando sua ajuda, Clique aqui para responder.