Dúvida Subrotina

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Mensagempor Sergio38br » 05 Dez 2009 10:49

Ta e o timer1 roda de 0 a 0???Qual o valor de tempo para o timer1?

[ ]`s
Sergio
Avatar do usuário
Sergio38br
Word
 
Mensagens: 759
Registrado em: 22 Nov 2007 13:39
Localização: São Paulo - SP

Mensagempor guest2003 » 06 Dez 2009 10:38

Amigo,

A rotina de Delay foi voce quem fez ?

Esta parecendo que o programa esta ficando parado na rotina...

Coloque somente a rotina de Delay no main para testar...

Acende led
Delay 500ms
Apaga led...

Nao sei nao, mas acho que voce vai ter uma surpresa...

[]'s
http://www.sethi.com.br (Institucional)
http://www.sethi3d.com.br (Impressoras 3d)
http://www.sethi.com.br/blog (Blog Impressoras 3d)
Avatar do usuário
guest2003
Word
 
Mensagens: 746
Registrado em: 13 Out 2006 11:48
Localização: Campinas - SP

Mensagempor Djalma Toledo Rodrigues » 06 Dez 2009 11:30

gilliard escreveu:.... Eu precisaria achar uma solução, para inserir dentro da própria subrotina lcd(), assim, independente da onde ela for chamada, ela sempre volta para o void main, tem como fazer isso ?!?!?

Ter tem

Em vez de Subrotina:
Goto LCD:
...
Goto rotulo: // Goto Main () é inválido


Código: Selecionar todos
config_lcd();         // Inicia a configuração do LCD
  tris tris tris ...

Trizazz antes

Agora:
Chamada / Tecla / Teclado / Contagem etc. isso só faz me deixar confuso . :oops:

Evite

DJ
Editado pela última vez por Djalma Toledo Rodrigues em 06 Dez 2009 23:51, em um total de 4 vezes.
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor Jozias del Rios » 06 Dez 2009 11:32

Especial atenção à rotina chamada() dele que nunca retorna.

Provavelmente faltou um

Código: Selecionar todos
break;


logo depois de chamar lcd().
Os vencedores são aqueles que sabem o que fazer se perderem.
Os perdedores são aqueles que não sabem o que fazer se ganharem.
Avatar do usuário
Jozias del Rios
Byte
 
Mensagens: 279
Registrado em: 31 Out 2009 03:36
Localização: SJCampos-SP

Mensagempor fabim » 06 Dez 2009 16:42

dou um pedaço de pão com cocada, pra quem exergar coisa errada aqui...

Código: Selecionar todos
 void chamada(){

unsigned char tecla;

                //-------------------------------
                Lcd_custom_Cmd(Lcd_Clear); // Limpa o LCD 16x2 //
                Lcd_custom_out(1,1,"1 - teste");
                Delay_ms(20);
                //-------------------------------

                do {
                    tecla=0;// limpa o valor atual do teclado

                while (tecla==0) tecla=teclado(); // Aguarda algo ser digitado

                if(tecla=='1'){ // Se for digitado 1
                lcd();
                }

                    } while(1); // Faz isso eternamente

}
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor Jozias del Rios » 06 Dez 2009 16:45

mas eu já não disse? rs..
Os vencedores são aqueles que sabem o que fazer se perderem.
Os perdedores são aqueles que não sabem o que fazer se ganharem.
Avatar do usuário
Jozias del Rios
Byte
 
Mensagens: 279
Registrado em: 31 Out 2009 03:36
Localização: SJCampos-SP

Mensagempor fabim » 06 Dez 2009 17:19

Jozias del Rios escreveu:mas eu já não disse? rs..


sim,... porque ele ja havia dito que nunca retorna daí..


só não apontou o:

do{


}while(1);

kkkkkkkkkkkkkkkkkkk, essa foi de doer!!!!!!hahahahahaha
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor fabim » 06 Dez 2009 17:21

á sim, não vou dar pão com cocada!!!
Cara a vizinha aqui é doceira.
Essa cocada, é cocada dos Deuses!!!
Coloco no meio do pão frances, microondas 15 segundos. E um copaço de coca cola com gelo e limão!!!!

Rapaiz, ta dando até dor de barriga já!!!

Ja comi uns 10 hoje.. :-(
De 97 ja devo ter ganho mais uns dois quilos hoje, deu o que fazer pra perder 20.. :(
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor Sergio38br » 06 Dez 2009 20:06

PERAI, OUTRA OVERDOSE DE COCA???

[ ]`s
Sergio
Avatar do usuário
Sergio38br
Word
 
Mensagens: 759
Registrado em: 22 Nov 2007 13:39
Localização: São Paulo - SP

Mensagempor fabim » 07 Dez 2009 18:07

fiquei sabendo que o giliard se suicidou..

Que pena, logo agora que ele tava pegando o jeitão da coisa !!
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor Jozias del Rios » 07 Dez 2009 19:21

Bom, que os decendentes do gilliard possam colocar "break;" após a chamada de "lcd();" na função chamada() ... talvez isso (ajude a) resolver o problema...
Os vencedores são aqueles que sabem o que fazer se perderem.
Os perdedores são aqueles que não sabem o que fazer se ganharem.
Avatar do usuário
Jozias del Rios
Byte
 
Mensagens: 279
Registrado em: 31 Out 2009 03:36
Localização: SJCampos-SP

Mensagempor gilliard » 07 Dez 2009 20:45

:D Para alegria de vocês, não me suicidei rrssssss :D

Voltei para encher o saco de vocês rrsssss

Beleza, vou testar esse break, daqui a pouco eu posto o resultado aqui, ok
Avatar do usuário
gilliard
Byte
 
Mensagens: 121
Registrado em: 26 Ago 2008 13:32

Mensagempor gilliard » 07 Dez 2009 21:55

Bom... Coloquei o break; após a chamada da subrotina lcd();

Olha o erro que deu:

break outside of loop or switch

e agora ....
Avatar do usuário
gilliard
Byte
 
Mensagens: 121
Registrado em: 26 Ago 2008 13:32

Mensagempor Jozias del Rios » 07 Dez 2009 22:16

tem certeza que vc fez isso:

[code]
void chamada()
{
unsigned char tecla;
//-------------------------------
Lcd_custom_Cmd(Lcd_Clear); // Limpa o LCD 16x2 //
Lcd_custom_out(1,1,"1 - teste");
Delay_ms(20);
//-------------------------------

do
{
tecla=0; // limpa o valor atual do teclado
while (tecla==0) tecla=teclado(); // Aguarda algo ser digitado

if(tecla=='1')
{ // Se for digitado 1
lcd();
break;
}
} while(1); // Faz isso (quase) eternamente
}
Os vencedores são aqueles que sabem o que fazer se perderem.
Os perdedores são aqueles que não sabem o que fazer se ganharem.
Avatar do usuário
Jozias del Rios
Byte
 
Mensagens: 279
Registrado em: 31 Out 2009 03:36
Localização: SJCampos-SP

Mensagempor Jozias del Rios » 07 Dez 2009 22:16

tem certeza que vc fez isso:

Código: Selecionar todos
void chamada()
{
    unsigned char tecla;
    //-------------------------------
    Lcd_custom_Cmd(Lcd_Clear); // Limpa o LCD 16x2 //
    Lcd_custom_out(1,1,"1 - teste");
    Delay_ms(20);
    //-------------------------------

    do
    {
        tecla=0;        // limpa o valor atual do teclado
        while (tecla==0) tecla=teclado(); // Aguarda algo ser digitado

        if(tecla=='1')
        { // Se for digitado 1
                lcd();
                break;
        }
    } while(1); // Faz isso (quase) eternamente
}
Os vencedores são aqueles que sabem o que fazer se perderem.
Os perdedores são aqueles que não sabem o que fazer se ganharem.
Avatar do usuário
Jozias del Rios
Byte
 
Mensagens: 279
Registrado em: 31 Out 2009 03:36
Localização: SJCampos-SP

AnteriorPróximo

Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x