– home / Fóruns / Módulo 5 / Bloco M5-44 / Bloco M5-44 | Questão 29

  • Autor
    Posts
  • Anônimo
    2019-11-22 até 00:00 #40003304954

    Seja o primeiro a fazer uma pergunta sobre esta questão.

    2019-12-04 até 00:00 #40003304955

    Olá,

     

    Acredito que o código está errado, não é só trocar o valor para 5, precisa mudar a atribuição da variável i para 1.

    Veja que a variável é inicializada como 1 e depois é atribuído o valor 0 a cada execução.

    Fiz a simulação trocando para 5 e não dá certo.  Desta forma não tem resposta correta.  Poderia verificar?

     

    Grato,

    Marcos

    2019-12-05 até 00:00 #40003304956
    Citação de Marcos Tadeu de Brazio em 04/12/2019, 19:30

    Olá,

     

    Acredito que o código está errado, não é só trocar o valor para 5, precisa mudar a atribuição da variável i para 1.

    Veja que a variável é inicializada como 1 e depois é atribuído o valor 0 a cada execução.

    Fiz a simulação trocando para 5 e não dá certo.  Desta forma não tem resposta correta.  Poderia verificar?

     

    Grato,

    Marcos

    Olá Marcos.

    1- De fato essa questão apresentava um erro. Porém não é o que informou o erro apresentado era sintaxe que já foi corrigido. Foi alterado o parâmetro do ultimo comando output do código onde estava RELE foi alterado para pin_b7 que é o LED4 no kit neutrino.

    2- No código é inicializado a variável i como 1 mesmo e dentro do segundo while ela não deveria ser zerada pois estando assim ela só funcionaria uma vez , e referente a isso alteramos o código sendo assim no fim de cada etapa i voltará a ser 1.

    3- O número 5 será usado no calculo dentro do while afim de executar as 4 alterações de estádo do LED4.

    Veja o funcionamento:

    1- LED4 está apagado
    apertando B3
    acende LED4

    2- apaga LED4
    acende LED4

    3-apaga LED4
    acende LED4

    4- apaga LED4

    O código alterado:

    int i = 1;
    while(TRUE){
    if(!input(pin_b1)){
    delay_ms(250);
    output_d(0x01);
    }
    else{
    output_d(0x00);
    }
    if(!input(pin_b2)){
    while(i<4){
    output_toggle(pin_b7);
    delay_ms(300);
    i++;
    }
    i=1;                                      //Alterado a variável para 1.
    output_low(pin_b7);      //Alterado D0 para b7
    }
    }
    }

    Faça essa alteração em seu código e veja o resultado e caso queira faça uso do debug utilizando o stimullus.

    Será adicionado 3 pontos para você por auxiliar nesta questão.

    Grande abraço.

    2020-05-19 até 00:00 #40003280555

    Bloco M5-44 | Questão 29

  • Você precisa estar Conectado(a) para Responder a este Tópico.