1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Dúvida de Assembler

Discussão em 'Programação' iniciada por Djointster, 6 de Junho de 2009. (Respostas: 1; Visualizações: 590)

  1. Djointster

    Djointster Power Member

    Boas pessoal

    Tenho um trabalho para fazer e encontrei um problema que espero conseguir resolver com a vossa ajuda.

    Tenho que criar um programa que gere sinais com 5 frequências diferentes para fazer com que um pino de saída acenda mais depressa ou mais devagar consoante o sinal gerado.

    o programa vai estar a ler o teclado local (pinos 0, 1, 2, 3 e 4 do porto P2) até encontrar um activo, quando encontra um activo, configura o timer e o contador para gerar o atraso pretendido e enquanto espera pela interrupção do timer vai continuar a ler o teclado. Quando a interrupção acontece, decrementa o contador e verifica se o contador chegou a zero. Se chegou a zero liga o pino de saída, mas o meu problema está enquanto não chegou a zero.

    Quando a interrupção é executada a primeira vez, para o sinal 1 por exemplo (liga o pino de saída de 3 em 3 segundos), decrementa o contador e como o contador não é zero, pois preciso que o timer "rebente" 50 vezes, ele termina a interrupção voltando ao sítio onde estava no programa, mas vou ter que configurar o timer outra vez, e eu pergunto: onde faço isso?

    Não pode ser na interrupção, pois tem que servir para todos os sinais, e também não pode ser depois de acontecer a interrupção pois não vou saber em que sítio o programa se encontra quando acontece a interrupção...

    Alguém me pode dar umas ideias?

    Obrigado :rrotflm:
     
  2. Djointster

    Djointster Power Member

    ninguém me consegue ajudar?
     

Partilhar esta Página