Ir ao conteúdo
  • Cadastre-se

Retorno ao default dentro de um case


cesarlg

Posts recomendados

Ola .. falo de prog. em c, ccs ...tentei varia maneiras de dentro de um case, retornar ao default caso nao haja nenhum botao pressionado. sem sucesso. If (!input(botao1){tempo;menu=0} ou usando variavel, de alguma maneira da errado, ou nao funciona esse retorno ou nao permite executar as funcoes ja contidas no case ....

EM TEMPOS: contornei a situaçao da seguinte maneira, mas se existir meio mais fácil, recebo opinioes: criei uma variavel q é incrementada pelo estouro do timer1. qd estou no default eu forço essa variavel permanecer em 0. quando entro em um case crio uma condicao que ao ultrapassar uma certa quantia de incrementos(tempo) ele volte ao default. a cada funcao dentro do case tb forço a variavel voltar a 0. ou seja qd apertar o botao variavel 0.. depois pode incrementar..

OUTRA DUVIDA: P gravar um valor em eeprom, só aceita "byte" ou tem outro tb?

Link para o comentário
Compartilhar em outros sites

Se entendí,acho que voce esta usando o Case erroneamente pois ele só deve ser chamado caso alguma valor deva ser testado,se nenhum valor deve ser testado voce não deveria chamar a função.

P gravar um valor em eeprom, só aceita "byte" ou tem outro tb?

Na eeprom é gravado bytes,mas nada impede que uma rotina grave uma sequencia de bytes que pode representar Int,float etc,mas sempre será uma sequencia de bytes que o hardware vai gravar.

Link para o comentário
Compartilhar em outros sites

Na eeprom é gravado bytes,mas nada impede que uma rotina grave uma sequencia de bytes que pode representar Int,float etc,mas sempre será uma sequencia de bytes que o hardware vai gravar.

Se eu declarar no inicio por exemplo: int s=0, m=0, h=0;

depois no while durante o programa: write_eeprom (1, h); write_eeprom (2, m);

e no default: h = read_eeprom(1); m = read_eeprom(2);

este procedimento eu consigo gravar na eeprom? o que deve-se acrescentar ou mudar?

obrigado

Link para o comentário
Compartilhar em outros sites

Não sei se é o seu caso,mas se for relacionado a horas de um relógio,eu tentaria assim:

unsigned char s=0, m=0, h=0;

Pois se eu não estiver enganado,os segundos vão de 0 a 60,minutos de 0 a 60 e horas de 0 a 12 e esses valores 'cabem' num byte cada um.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!