Responder a: Bloco M5-15 / Questão 11

10 de março de 2021 at 16:04 #40003360426

Boa tarde, Derlei!

Segue aqui uma breve resposta elaborada pelo nosso Professor Ricardo no gupo.

Pois bem, é compreensível que tenhamos que passar um valor para a instrução de controle de ports (além de várias outras).
Também é compreensível que esse valor deve ser o número do pino que se deseja controlar.
Mas aí vem o primeiro questionamento:
“por que não passamos simplesmente um número no formato decimal então, não é muito mais fácil escrever apenas pino 1, pino 2, pino 3…”

Resposta: Sem dúvidas é mais fácil sim!!

Entretanto, na maior parte das vezes não vamos acionar um único pino.
Aí vem o nosso primeiro problema, imagine que tenhamos que acionar o pino 1 e 2 de um determinado Port. O que você faria nessa situação??

Resposta: Posso usar uma instrução para ligar o pino 1 e OUTRA instrução para ligar o pino 2.

Porém, veja que estamos gastando duas instrução aqui…
Nada errado nisso!!

Entretanto, e se precisarmos ligar três, quatro, cinco pinos simultâneos de um Port. Vamos usar três, quatro, cinco instruções separadas para fazer a mesma coisa (ligar pino)????

Resposta: não!!!
Iremos usar uma instrução só. Entretanto, qual valor vou passar como parâmetro para indicar a ligação de dois ou mais pinos simultâneos??

Veja que para ligar o pino 1 eu posso passar para função o número 1 (em decimal mesmo).
Agora, se eu for ligar o pino 1 e o 2. Eu não posso passar 12 (doze), correto?

É aí que vem a necessidade de se utilizar notações que permitam o agrupamento de valores de forma compreensível ao microcontrolador.

Utilizando a notação Hexadecimal, além de permitir uma redução do tamanho da sintaxe da expressão (veja que com dois dígitos FF, por exemplo, eu escrevo um valor equivalente a três dígitos, pois FF equivale a 255.

Para o microcontrolador o Hexadecimal é uma notação excelente. Já é natural para o mesmo a sua compreensão.
Suas conversões são mais difíceis para nós, humanos. Porém, muito mais simples para os controladores, que aliás, nativamente já as utilizam em seus registradores.

Por esse motivo, passar parâmetros em Hexadecimal é sempre mais “elegante” e supostamente mais otimizado.

Nada os impede de passar os valores em decimal (quando possível) ou binário. Porém, nesses casos será mais simples para você fazer a conversão. Mas mais complicado para o microcontrolador.

Repito, nada errado em se utilizar decimal e binário vez ou outra. Mas é bom se acostumar a passar valores em hexa, pois projetos maiores serão beneficiados com essa simples prática.