Rampa Sobe e Desce

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Rampa Sobe e Desce

Mensagempor callfraga » 26 Jul 2014 19:27

Olá pessoal gostaria de uma ajuda pois preciso modificar minha rampa de acesso e gostaria de fazer como está em anexo a este post. Sei que eu preciso fiz o básico mais não consigo escrever em linguagem as ações que preciso. tenho conhecimento básico em C CCS. minha dúvida é como fazer a sintaxe de teste de 2 pinos exemplo da meu fonte: :cry:

Código: Selecionar todos
/* Rotina  para teste de software  apertando qualquer chave
aciona a sequencia desejada  e seguindo uma  regra de acionamento*/

//Informa ao compilador qual PIC escolhido para biblioteca PIC16F628A
#include <16F628a.h>       

//Informa ao compilador as configurações escolhidas para o PIC16F628A
#fuses INTRC_IO          // uso de oscilador interno e pinos de clock como I/O
#fuses NOWDT            //Sem Cão de Guarda (Watchdog)
#fuses NOPROTECT       //Sem proteção para o código
#fuses NOLVP          //Não habilitado gravação  combaixo nível de tensão
#fuses NOMCLR        // MCLR  não habilitado


//Informa ao compilador  a velocidade do clock escolhido (4Mhz)
#use delay(clock=4000000)

//DEFINIÇÃO DAS SAIDAS E ASSOCIAÇÃO DE (NOME AOS PINOS)
#define sobe1    PIN_B0   //Definido pino RB.0 como Saída nome sobe
#define alerta1  PIN_B1  //Definido pino RB.1 como Saída nome cancela
#define desce1   PIN_B2 //Definido pino RB.2 como Saída nome desce
#define sirene   PIN_B3 //Definido pino RB.3 como Saída nome desce

//DEFINIÇÃO DAS ENTRADAS E ASSOCIAÇÃO DE (NOME AOS PINOS)
#define desce    PIN_A0   //Definido pino RA.0 como Entrada nome desce
#define sobe     PIN_A6  //Definido pino RA.1 como Entrada nome sobe
#define alerta  PIN_A7 //Definido pino RA.2 como Entrada nome cancela




void main()
{   
             
   disable_interrupts (global); //desabilita todas interrupcoes
 
     
  WHILE (true)  // Início da condição WHILE (condição verdadeira)
 
   {
   
    // Condição do (*Rampa Sobe1*)
   
    //No sentido Sobe quando carrinho entrar no bloco _Rampa Sobe1_deve ligar
    //(Rampa Sobe1) e (Alerta 1) e quando o carrinho sair do Bloco (Alerta 1)
    // deve desligar o (Alerta 1)
     
   if (!input (sobe)){
     
         output_high (sobe1);         //coloca nivel_1  no pinoPIN_B0
         //output_high (sirene);       //coloca nivel_1  no pinoPIN_B3
       //  output_high (alerta1);   //coloca nivel_1  no pinoPIN_B0
           
   }
   else {
         output_low (sobe1);   //coloca nivel_0  no pinoPIN_B0
         //output_low (sirene);       //coloca nivel_0  no pinoPIN_B3
       //  output_low (alerta1);   //coloca nivel_0  no pinoPIN_B0
   }
       
 // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                                       
 // Condição do (*ALERTA1*)*-Quando o carrinho entra na Rampa Sobe1
 //tambem entra em Alerta1 devido ao comprimento do mesmo
 //Porém quando o carrinho sair do bloco ( Alerta1) desliga o bloco ( Alerta1)
 //e entra em (Rampa Desce 1) sem ligar o bloco
 //Desta  forma ele deve proceder  em ambos os sentidos independente
 //quem entrar primeiro sempre ligar o (Alerta1)
 //e desligar o Alerta1) quando o carrinho terminar de passar
 //pelo bloco independente quem entrou primeiro.
         
        if (!input (alerta)){
     
         output_high (alerta1);     //coloca nivel_1  no pinoPIN_B0
         //output_high (sirene);     //coloca nivel_1  no pinoPIN_B3
       //  output_high (sobe1);   //coloca nivel_1  no pinoPIN_B0
           
   }
   else {
         output_low (alerta1);     //coloca nivel_0  no pinoPIN_B0
         //output_low (sirene);     //coloca nivel_0  no pinoPIN_B3
       //  output_low (sobe1);   //coloca nivel_0  no pinoPIN_B0   
         
         
   }   
         
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

   // Condição do (Desce1)
   
        if (!input (desce)){
     
         output_high (desce1);       //coloca nivel_1  no pinoPIN_B0
         //output_high (sirene);      //coloca nivel_1  no pinoPIN_B3
        //output_high (alerta1);   //coloca nivel_1  no pinoPIN_B0
           
   }
   else {
         output_low (desce1);       //coloca nivel_0  no pinoPIN_B0
         //output_low (sirene);      //coloca nivel_0  no pinoPIN_B3
        //output_low (alerta1);   //coloca nivel_0  no pinoPIN_B0   
         
         
   }   
   }                 // Fim da condição WHILE (condição verdadeira)
   }           



:roll: O que preciso aprender é como perguntar se um pino está em nivel 1 e o outro está em nivel 0 para fazer a ação desejada e acionar uma saida. e tambem quando apertar o botão enquanto estiver apertado ele fica nivel 1 e solto nivel 0

o que vou fazer é uma melhora no meu sistema de rampa de chegada pois fico ao lado de uma rodovia e preciso sinalizar melhor. porque o antigo foi feito de modo analógico e quero fazer melhorias.

desde já agradeço a todos que puderem me ajudar pois minha idade já não ajuda muito mais a vontade é bem grande de fazer o equipamento funcionar.

vou postar o link abaixo do processo e o simulador já descrito.



Abraços a todos e parabéns pelo forum.

Antony Helmes
Você não está autorizado a ver ou baixar esse anexo.
callfraga
Bit
 
Mensagens: 5
Registrado em: 26 Jul 2014 12:18
Localização: Valparaíso

Re: Rampa Sobe e Desce

Mensagempor andre_luis » 26 Jul 2014 23:59

Fiz um rearranjo no seu código pra ficar mais fácil de eu entender, mas apesar de extremamente simples, não consegui perceber exatamente o que precisa ser feito. Teria como postar um fluxograma ou tabela verdade que represente o comportamento desejado ?

O que o código abaixo parece que está fazendo é simplesmente refletir o valor das entradas nas saídas...

cpp code
#include <16F628a.h>        
#use delay(clock=4000000)

#fuses INTRC_IO // uso de oscilador interno e pinos de clock como I/O
#fuses NOWDT //Sem Cão de Guarda (Watchdog)
#fuses NOPROTECT //Sem proteção para o código
#fuses NOLVP //Não habilitado gravação combaixo nível de tensão
#fuses NOMCLR // MCLR não habilitado

#define sobe1 PIN_B0 //Definido pino RB.0 como Saída nome sobe
#define alerta1 PIN_B1 //Definido pino RB.1 como Saída nome cancela
#define desce1 PIN_B2 //Definido pino RB.2 como Saída nome desce
#define sirene PIN_B3 //Definido pino RB.3 como Saída nome desce

#define desce PIN_A0 //Definido pino RA.0 como Entrada nome desce
#define sobe PIN_A6 //Definido pino RA.1 como Entrada nome sobe
#define alerta PIN_A7 //Definido pino RA.2 como Entrada nome cancela

void main() {
disable_interrupts (global); //desabilita todas interrupcoes

while (true) { // Início da condição WHILE (condição verdadeira)

if (!input (sobe)){
output_high (sobe1); //coloca nivel_1 no pinoPIN_B0
}
else {
output_low (sobe1); //coloca nivel_0 no pinoPIN_B0
}

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

if (!input (alerta)){
output_high (alerta1); //coloca nivel_1 no pinoPIN_B0
}
else {
output_low (alerta1); //coloca nivel_0 no pinoPIN_B0
}

// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

if (!input (desce)){
output_high (desce1); //coloca nivel_1 no pinoPIN_B0
}
else {
output_low (desce1); //coloca nivel_0 no pinoPIN_B0
}
} // Fim da condição WHILE (condição verdadeira)
} // Fim da condição void main




+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: Rampa Sobe e Desce

Mensagempor callfraga » 27 Jul 2014 12:28

Olá André vou tentar explicar este é uma renovação da minha entrada pois eu morro a beira de uma ferrovia e não rodovia como disse e meu neto e minha filha chegam tarde e preciso melhorar a segurança deles e minha pois moro com eles desde que minha velha faleceu por isso estou montando este circuito e fiz uma maquete para testar tbem.

Bem o que preciso é o seguinte:
Como tem um trilho ao longo ele é dividido em 3 blocos isolados como no proteus.
acontece que as vezes o trem está de manobra e ocupa todo o espaço do bloco.eu vou colocar este circuito a 1 km da minha casa para poder informar a eles o momento de perigo de chegada pois não tem visão adequada para subir até minha casa.

Sentido SOBE:

Quando apertar botão (sobe) liga

aciona (sobe 1) (alerta 1) e a (sirene) Ou seja quando ele entra no bloco (sobe) ele vai fechar como uma chave através do trilho e acionar o (alerta 1) e a (sirene) porém em situação pelo comprimento o bloco alerta também isolado vai acionar para desligar o alerta e a sirene quando ela terminar de passar por este bloco e ficar esperando até que em qualquer sentido alguém ocupe o bloco.

Quando apertar botão (alerta) liga

aciona (alerta 1) e a (sirene) Ou seja aqui ele desliga o (alerta1) e a (sirene) quando terminar de passar por este bloco e fica a espera de qualquer movimento em qualquer sentido entende.

Bem este raciocínio serve também para o sentido (desce)

Eu fiz um desenho semelhante a linha de um trem para você entender melhor como funciona a chave através do fechamento do botão usando a linha.

Sinaldeentradagaragem_zps9bd1336f.png


Bem quando eu mando ligar noa chave sobe e no sentido sobe o (alerta1) e a (sirene) funcionam bem.dai eu preciso fazer uma jeito de desligar os dois quando ele sai do bloco (alerta1) eu tentei fazer inversão de nivel mais ocorre um erro e fica piscando o (alerta1) na simulação. quando deveria desligar tudo e ficar na espera em ambos o sentido e toda vez que ele sair do (alerta1) ele desliga

Sou Ferroviário porem já não atuo mais no interior de Valparaíso mais gosto da eletrônica pois sempre tive vontade de fazer alguma coisa.

Saudações
Antony
Você não está autorizado a ver ou baixar esse anexo.
callfraga
Bit
 
Mensagens: 5
Registrado em: 26 Jul 2014 12:18
Localização: Valparaíso

Re: Rampa Sobe e Desce

Mensagempor andre_luis » 27 Jul 2014 21:44

Antony,


Antes de passar pra proxima etapa de programação, eu preciso primeiramente saber se estou modelando corretamente o funcionamento do sistema. Segue abaixo uma tabela verdade onde tentei colocar as entradas numa sequencia cronologica, de acordo com a aproximação e afastamento do trem. Poderia confirmar se é isso mesmo, ou se for o caso refazer com os valores corretos ?




+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: Rampa Sobe e Desce

Mensagempor callfraga » 27 Jul 2014 23:44

Olá amigo André

Sentido Sobe

Sobe Sirene Desce

0 0 0 aguardando sinal (sobe)

1 1 0 Entrou no (bloco sobe) liga Sobe e a Sirene

0 1 0 saiu do (bloco sobe), fica sirene ligada

0 0 0 saiu do (bloco sirene), desliga tudo e fica na espera




Sentido Desce

Sobe Sirene Desce

0 0 0 aguardando sinal desce

0 1 1 Entrou no (bloco Desce) liga Desce e Sirene

0 1 0 sai do (bloco Desce) fica sirene ligada

0 0 0 saiu do (bloco sirene) desliga tudo e fica na espera


Bem acredito que pode também quando entrar no (bloco Sobe) e o (bloco Desce)
Pode ligar somente a sirene desligar quando sair do Bloco Sirene.
Eu ainda não tentei executar este comando mais acredito que pode dar certo.
O negócio e quando fazer esta sequencia o sistema ficar pronto para qualquer
outro independente do sentido.

Perceba queno sentido SOBE o DESCE fica Desligado

Perceba queno sentido DESCE o SOBE fica Desligado


desde já agradeço sua gentileza espero que tenha ajudado pouco mais

Bem se tiver um telefone Tim me manda o numero em MP que te ligo

Acredito que da para vc entender ficou um pouco junto a tabela

Saudações

Antony
callfraga
Bit
 
Mensagens: 5
Registrado em: 26 Jul 2014 12:18
Localização: Valparaíso

Re: Rampa Sobe e Desce

Mensagempor andre_luis » 28 Jul 2014 12:13

Ficou perfeito agora...


Bom, apesar de isso poder ser feito por uma logica combinacional em portas logicas, acredito que você queira usar o microcontrolador para flexibilizar a adição de alguma outra eventual funcionalidade, e também para praticar programação.

Tenho de sair agora, mas á noite faço isso pra você, mas como é algo digamos, tranquilo, e talvez alguem aqui coloque a resposta antes disso :)



+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: Rampa Sobe e Desce

Mensagempor andre_luis » 29 Jul 2014 19:26

Antony,



Olha, vou ser franco contigo: Como se trata de um projeto de literalmente “suporte a vida”, onde especialmente pessoas da sua família estarão confiando no seu equipamento para decidir quando será seguro atravessar uma linha férrea, alguns cuidados tem de ser tomados, como por exemplo:

  • Sensores: Não utilizar apenas chaves On/Off, mas dispositivos um pouco mais inteligentes, tipo ( 4mA-20mA ), pois no caso de um não-funcionamento, ou até mesmo furto do sensor, na ausência de corrente ( 0mA ) o microcontrolador seria capaz de reconhecer esse 3º estado lógico, e saber que não é possível avaliar as informações da linha.
  • Auto-teste: Baseado na informação acima e de outras, o sistema teria de piscar um sinal de alarme ( ex.: Luz amarela ) informando aos usuários da sua inoperabilidade, e caso estivesse funcionando normalmente, teria uma luz “piloto” sempre acesa ( ex.: Luz azul ), indicando que tá operando. Isso porque a ausência de alarme não pode ser assumida com ausência de problema.
  • Modelamento: No caso de interrupção no fornecimento da energia elétrica, ao ser reestabelecida o programa deve saber distinguir se o estado atual dos sensores poderia representar uma situação dúbia, ou seja, que dependesse do estado anterior, que nesse caso seria perdida após a falta de luz.
  • Proteção: Posso estar enganado, e você é capaz de avaliar isso melhor que eu, pois é do ramo ferroviário, mas trilhos com 1Km de extensão podem ser propensos á receberem indução provenientes de descargas atmosféricas, o que poderia literalmente incinerar o microcontrolador, se não estiver bem isolado.

Quanto ao projeto, vou me abstrair da avaliação se o modelo que você passou anteriormente cobre todos os quesitos de segurança e/ou se representa totalmente a realidade; vou focar apenas na finalização do programa pra testar no seu protótipo. Não tenho certeza se entendi corretamente o funcionamento, mas vamos lá.

Aplicando a tabela acima no mapa abaixo, percebi que para gerar o alarme, qualquer entrada ativa seria suficiente:
http://www.mathematik.uni-marburg.de/~t ... rnaughmap/

Ou seja, sua função poderia ser simplesmente como essa abaixo:

cpp code
while (true) {
// Acionamento dos indicadores no painel
if (!input (sobe)) output_high (sobe1)
else output_low (sobe1);

if (!input (desce)) output_high (desce1)
else output_low (desce1);

if (!input (alerta)) output_high (alerta1)
else output_low (alerta1);

// Acionamento da sirene
if ( (!input (sobe) | (!input (desce) | (!input (alerta) )
output_high (sirene);
else
output_low (sirene);
}
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: Rampa Sobe e Desce

Mensagempor callfraga » 29 Jul 2014 23:08

Primeiramente gostaria de agradecer ao sr. pelo esforço que deu a este meu desejo de realizar este projeto. Muito obrigado pelo discernimento que relacionou ao quesito segurança que realmente de extrema importância e que devemos colocar sempre em 1º lugar. Gostaria de saber mais um detalhe,quando compilei deu 2 erros que não consegui descrever disse que precisaria ter uma expressão numérica conforme segue para ver. se puder me orientar onde busco esta informações para eu poder testar e dar seguimento ao trabalho.
Código: Selecionar todos
#include <16F628a.h>       
#use delay(clock=4000000)
 
#fuses INTRC_IO      // uso de oscilador interno e pinos de clock como I/O
#fuses NOWDT         //Sem Cão de Guarda (Watchdog)
#fuses NOPROTECT     //Sem proteção para o código
#fuses NOLVP         //Não habilitado gravação  combaixo nível de tensão
#fuses NOMCLR        // MCLR  não habilitado
 
#define sobe1       PIN_B0  //Definido pino RB.0 como Saída nome sobe
#define alerta1     PIN_B1  //Definido pino RB.1 como Saída nome cancela
#define desce1      PIN_B2  //Definido pino RB.2 como Saída nome desce
#define sirene      PIN_B3  //Definido pino RB.3 como Saída nome desce
 
#define desce       PIN_A0  //Definido pino RA.0 como Entrada nome desce
#define sobe        PIN_A6  //Definido pino RA.1 como Entrada nome sobe
#define alerta      PIN_A7  //Definido pino RA.2 como Entrada nome cancela
 
void main()     {     


    disable_interrupts (global);    //desabilita todas interrupcoes
         
    while (true) {             // Início da condição WHILE (condição verdadeira)
     
       if (!input (sobe)){
            output_high (sobe1);    //coloca nivel_1  no pinoPIN_B0               
            }
       else {
            output_low (sobe1);     //coloca nivel_0  no pinoPIN_B0
            }
           
     // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
             
        if (!input (alerta)){
            output_high (alerta1);  //coloca nivel_1  no pinoPIN_B1
            }
        else {
            output_low (alerta1);   //coloca nivel_0  no pinoPIN_B1
            }   
             
    // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
       
        if (!input (desce)){
            output_high (desce1);   //coloca nivel_1  no pinoPIN_B2           
            }
        else {
            output_low (desce1);    //coloca nivel_0  no pinoPIN_B2       
            }   
           
           
           
          if  ( (!input (sobe) | (!input (desce) | (!input (alerta) )
           output_high (sirene);;   //coloca nivel_1  no pinoPIN_B3           
         
        else {
            output_low (sirene);    //coloca nivel_0  no pinoPIN_B3       
            }
 
 
 
           
       }                          // Fim da condição WHILE (condição verdadeira)
}                                  // Fim da condição main         

 


Erro:
:evil:
Erro_zpsca891e2a.gif

http://i1166.photobucket.com/albums/q60 ... 891e2a.gif


Eu fiz no meu compilador mais estou com medo de estar algum bug se você por favor fazer esta gentileza de ver se tem problemas de fato e onde vejo estas expressões. eu já vi criar um char ou um byte e colocar um valor não sei se é isso ou algo que o erro está dizendo.

Um grande abraço e que Deus ilumine sua família e sua vida muito obrigado.

Antony
Você não está autorizado a ver ou baixar esse anexo.
callfraga
Bit
 
Mensagens: 5
Registrado em: 26 Jul 2014 12:18
Localização: Valparaíso

Re: Rampa Sobe e Desce

Mensagempor Renie » 30 Jul 2014 01:26

Olá callfraga,
Nunca usei C mas, experimente retirar o ponto e vírgula a mais do comando, ao invés de"...output_high (sirene);; ..."
tente "output_high (sirene);", só com um ";"! :wink:

Ps: pela imagem não consegui identificar se no início do parâmetro estava usando "(" ou "[" no "...(sirene)..." mas creio que o problema seja
o acima! :wink:
[]'s
Renie
-------------------------------------------------------------------------------------------------------------
Meu velho site com eletrônica praticamente parado http://www.reniemarquet.com
Nosso Blog http://artemadeiraevida.blogspot.com.br
Renie
Word
 
Mensagens: 732
Registrado em: 11 Out 2006 22:35
Localização: RJ - Niterói - Brasil

Re: Rampa Sobe e Desce

Mensagempor Renie » 30 Jul 2014 01:41

Renie escreveu:Olá callfraga,
Nunca usei C mas, experimente retirar o ponto e vírgula a mais do comando, ao invés de"...output_high (sirene);; ..."
tente "output_high (sirene);", só com um ";"! :wink:

Ps: pela imagem não consegui identificar se no início do parâmetro estava usando "(" ou "[" no "...(sirene)..." mas creio que o problema seja
o acima! :wink:


Ps2: acho que ainda faltam os "{....}" ao redor do "...output_high (sirene);...", acho que deveria ser "{ output_high (sirene); }" mas, como
disse, nunca usei C posso estar errado! :(
[]'s
Renie
-------------------------------------------------------------------------------------------------------------
Meu velho site com eletrônica praticamente parado http://www.reniemarquet.com
Nosso Blog http://artemadeiraevida.blogspot.com.br
Renie
Word
 
Mensagens: 732
Registrado em: 11 Out 2006 22:35
Localização: RJ - Niterói - Brasil

Re: Rampa Sobe e Desce

Mensagempor ze » 30 Jul 2014 07:20

seu bom senso de gratidão me incentivou a dar + 1 chute.
if ( (!input (sobe) | (!input (desce) | (!input (alerta) )
tente com 2 ||
if ( (!input (sobe) || (!input (desce) || (!input (alerta) )
sim, programo em mas não em ccs
abç e sucessos
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Re: Rampa Sobe e Desce

Mensagempor andre_luis » 30 Jul 2014 12:10

Renie escreveu:Nunca usei C mas, experimente retirar o ponto e vírgula a mais do comando, ao invés de"...output_high (sirene);; ..."
tente "output_high (sirene);", só com um ";"! :wink:


É isso mesmo, falha minha...


+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: Rampa Sobe e Desce

Mensagempor callfraga » 30 Jul 2014 13:08

Obrigado a todos pela atenção. Eu uso aqui o compilador CCS Versão 4.68 e ainda está dando mesmo erro. Desinstalei e instalei uma versão mais nova 4.114 e ai deu mais 2 erros. Gostaria de pedir ajuda a alguém que está usando mais frequente este compilador para compilar e ver se meu Pc ta doido ou os compiladores estão mesmo com defeito. Se tiver também o link de alguma pagina que tem ele eu pego para tentar ver se está realmente com problema.


Deixo o link para que alguém se puder testar eu fico desde já agradecido.este eu peguei tbem na internet ai não sei se está com defeito.

http://www.4shared.com/rar/xjTwbOs2ba/CODIGO_FONTE.html

Muito obrigado a todos

Espero que resolva para não mais dar trabalho a todos. :oops:

Obrigado
Antony
callfraga
Bit
 
Mensagens: 5
Registrado em: 26 Jul 2014 12:18
Localização: Valparaíso

Re: Rampa Sobe e Desce

Mensagempor andre_luis » 30 Jul 2014 13:44

Reparou que no programa acima tá faltando uma chave na expressão abaixo ?
Esse foi o motivo do erro apresentado na postagem mais acima.
if ( (!input (sobe) | (!input (desce) | (!input (alerta) ) )

Outra coisa, é pra substituir tudo o que voce havia colocado dentro do seu while, pelo que eu sugeri no post anterior.



+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ


Voltar para PIC

Quem está online

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

x