Академический Документы
Профессиональный Документы
Культура Документы
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.