Вы находитесь на странице: 1из 2

1. Explique o que faz o comando SET_BIT(SIM_SCGC5, 11) no programa 2a?

Esse comando habilita o clock do PORTC, o que pode ser entendido como uma habilitao do
PORTC, uma ativao do enable do mesmo.
2. O comando GPIOC_PSOR = (1<<10) do programa 2a poderia ser substitudo pelo
comando SET_BIT(GPIOC_PSOR, 10)? Explique por que e qual a diferena entre
os dois comandos.
Sim, o comando GPIOC_PSOR = (1<<10) poderia ser substitudo pelo comando
SET_BIT(GPIOC_PSOR, 10). A diferena entre os dois comandos que no primeiro s altera o
valor do dcimo primeiro bit, enquanto que no segundo o valor do dcimo primeiro bit
alterado para 1 e os bits desde o primeiro at o dcimo so alterados para 0. Como a funo
dos dois comandos a mesma, habilitar o Latch Enable, do registrador dos LEDs vermelhos,
nesse registrador o bit 11 o nico que importa para o correto funcionamento do programa,
assim no faria diferena de usar um comando ou outro, sendo que mesmo usando um
comando que altera ou no o valor dos dez primeiros bits, no faria diferena, uma vez que os
valores presentes nesses bits no importam para o correto funcionamento do programa.

3. Qual o tamanho em bits do tipo de dado uint8_t? E do tipo de dado int8_t? Qual a
diferena entre uint8_t e int8_t? Considere uma varivel a do tipo uint8_t com o
valor 0xbf, qual o valor de a aps a execuo do comando a = a >> 1? Considere
uma varivel b do tipo int8_t com o valor 0xbf, qual o valor de b aps a execuo
do comando b = b >> 1?
Tanto o tipo de dado int8_t quanto o de uint8_t, possuem 8 bits. A diferena entre esses dois
tipos que o primeiro pode representar nmeros negativos, enquanto que o segundo no,
outra diferena que o tipo uint8_t pode representar nmeros duas vezes maiores do que o
tipo int8_t. A varivel a do tipo uint8_t aps a execuo do comando passa a ter o valor 0x5f, a
varivel b do tipo int8_t passa a ter o valor 0xdf aps a execuo do comando.

4. No programa 2b quais os pinos do microcontrolador associados respectivamente


aos bits 4, 5, e 12 do PORTA?
Os bits 4, 5 e 12 do PORTA so associados respectivamente aos pinos 30, 31 e 32.
5. Qual comando do programa que efetua a leitura do estado dos botes no
Programa 2b?
O comando a = GPIOA_PDIR faz a leitura do estado dos botes no programa 2b.

6. Qual o valor em hexadecimal da varivel a do Programa 2b quando nenhum boto


est pressionado?
O valor da varivel 0x1030.

7. Qual o valor em hexadecimal da varivel a do Program 2b quando apenas o boto


S1 da placa Shield est pressionado? Qual o valor quando apenas o boto S2 est
pressionado? E qual o valor quando apenas o boto S3 est pressionado?
Quando somente o boto S1 est pressionado o valor da varivel 0x1020, quando o S2 est
acionado o valor 0x1010, e quando S3 est acionado 0x0030.
8. Qual o valor em hexadecimal da varivel a do Program 2b quando os botes S1,
S2 e S3 da placa Shield esto simultaneamente pressionados?
O valor da varivel de 0x0000.
9. No programa 2b, qual o valor em hexadecimal da varivel pta4 quando o boto S1
da placa Shield no est pressionado? E qual o valor quando o boto est
pressionado? Qual o valor em hexadecimal da varivel pta5 quando o boto S2 da
placa Shield no est pressionado? E qual o valor quando o boto est
pressionado? Qual o valor em hexadecimal da varivel pta12 quando o boto S3
da placa Shield no est pressionado? E qual o valor quando o boto est
pressionado?
Quando S1 no est pressionado o valor de pta4 0x0010, j quando o mesmo est
pressionado o valor de 0x0000. Quando S2 no est pressionado o valor de pta5 0x0020,
j quando o mesmo est pressionado o valor de 0x0000. Quando S3 no est pressionado o
valor de pta12 0x1000, j quando o mesmo est pressionado o valor de 0x0000.

10. No programa 2b, qual o contedo em hexadecimal do registrador PORTA_PCR4


imediatamente antes e imediatamente depois da execuo do comando
PORTA_PCR4 &= 0xFFFFF8FF;?
O contedo imediatamente antes 0x00000000, e imediatamente depois 0x00000007.

Вам также может понравиться