funçaõ

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

funçaõ

Mensagempor antonio » 10 Jan 2007 19:57

Pessoal tudo Bem!!

Fiz tudo para nao estar este tipo de pergunta ,mas è seguinte nao estou compreendendo esta funçao abaixo
mais pricipalmente na linha do switch ?!

Algem me pode dar uma ajuda a comprender esta função??
Desde ja agradeço
até

void carga_chave(void)
{
for(i=0;i<4;i++)
{
chave[i]=read_eeprom(i);
}

switch(read_eeprom(4)) // como posso ler esta linha aqui :oops:
{
case '1': tempo=229; break; // 15 segundos
case '2': tempo=458; break; // 30 segundos
case '3': tempo=687; break; // 45 segundos
case '4': tempo=916; break; // 60 segundos
}
}
antonio
Byte
 
Mensagens: 209
Registrado em: 15 Out 2006 12:34

Mensagempor Maurício » 10 Jan 2007 20:25

Olá, antonio.

Verifique o protótipo da função READ_EEPROM, no arquivo-cabeçalho que inclue esta função no seu programa (arquivo .H).

Me parece que esse switch faz a seleção com um dado armazenado no endereço 4 (???) da E2PROM.

Pode ser isso.

[]'s

RETI.
"Não leve a vida tão à sério, afinal, nenhum de nós sairá vivo, dela!"
Avatar do usuário
Maurício
Word
 
Mensagens: 678
Registrado em: 14 Out 2006 17:23
Localização: São Paulo - SP

Mensagempor Orcino » 10 Jan 2007 21:31

Mauricio, é o seguinte o SWITCH pega o dado armazenado na eeprom no endereço 4 e testa, CASE 1 faz isso, CASE 2 faz aquilo e assim por diante, é o mesmo que

dado=read_eeprom(4); \\ lê o que tá no end. 4 e guarda em dado

switch(dado)
{
case '1' : tempo=229; break;
:
:
:
:
}


Orcino
Orcino
Bit
 
Mensagens: 19
Registrado em: 06 Dez 2006 22:07

Mensagempor Renie » 11 Jan 2007 00:34

Olá pessoALL!

EU não uso C!!!! (eu odeio C! :shock: )

Mas, tanto o Maurício quanto o Orcino estão corretos! Mas, acho que não responderam a dúvida do colega!

Este trecho transfere um dado da EEPROM para uma área de RAM ( Acesso direto)! É trazer um dado guardado que não se perde para a
área de trabalho!( pode até ser sobreposto no final!Não sei!)

PS: Ops, um não, todos os 4 bytes guardados na EEPROM!
[]'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

Mensagempor antonio » 11 Jan 2007 17:11

Pessoal Tudo bem !!

ficou mais esclarecida a duvida que tinha ,mais uma vez o meu abraço :D

Agora tenho uma outra duvida que o colega RENIE me deixou a pensar :?:

que è o seginte;

""PS: Ops, um não, todos os 4 bytes guardados na EEPROM!""

RENIE: então o numero (4) em READ_EEPROM(4) quer dizer BYTES ?

Desculpe a ignorancia, mas eu pensava pelo que esteve a ler em cima que o numero (4) se referia ao endereço da eeprom ??

Entao um BYTE è igual 0....255 ??, Como devo entender isto?

Espero no encontro e soluç :shock: oes
antonio
Byte
 
Mensagens: 209
Registrado em: 15 Out 2006 12:34

Mensagempor ric_vas » 11 Jan 2007 17:36

Vc está certo. O (4) é o endereço.

Ric
ric_vas
Nibble
 
Mensagens: 93
Registrado em: 11 Out 2006 22:22
Localização: RS

Mensagempor Renie » 11 Jan 2007 17:39

Olá Antonio,

Não, o read_eeprom(4) creio que seja a leitura do endereço 4 mesmo,
o trecho abaixo é que transfere 4 bytes da eeprom para a RAM.


void carga_chave(void)
{
for(i=0;i<4;i++)
{
chave[i]=read_eeprom(i);
}
[]'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

Mensagempor antonio » 11 Jan 2007 19:03

Pessoal muinto obrigado :)
antonio
Byte
 
Mensagens: 209
Registrado em: 15 Out 2006 12:34

Mensagempor ivan » 11 Jan 2007 19:54

Do endereço 0(zero) ao endereço 4(quatro) são cinco bytes :wink:
"A mente que se abre a uma nova idéia jamais volta ao seu tamanho original." (Albert Einstein).
Avatar do usuário
ivan
Word
 
Mensagens: 618
Registrado em: 12 Out 2006 21:27

Mensagempor Fábio Pereira » 11 Jan 2007 22:45

Mas o for conta só de 0 a 3 ...

O endereço 4 é utilizado pelo switch ...

Até +
Fábio Pereira
embeddedsystems.io
Avatar do usuário
Fábio Pereira
Word
 
Mensagens: 674
Registrado em: 16 Out 2006 09:07
Localização: Kitchener, ON

Mensagempor antonio » 12 Jan 2007 06:04

Ola Fabio!

Vc quer dizer que o primeiro case no switch entao esta mal? deveria começar no ('0') e nao no ('1')?? :?

Atè
antonio
Byte
 
Mensagens: 209
Registrado em: 15 Out 2006 12:34

Mensagempor ivan » 12 Jan 2007 08:20

A função trata cinco bytes: quatro no for e um no switch.
No fundo falamos a mesma coisa :wink:

Antonio,

O Switch trata o valor armazenado no endereço 4(quatro) da memoria e a avaliação do switch será sobre o range de valores desta posição de memória.
"A mente que se abre a uma nova idéia jamais volta ao seu tamanho original." (Albert Einstein).
Avatar do usuário
ivan
Word
 
Mensagens: 618
Registrado em: 12 Out 2006 21:27


Voltar para PIC

Quem está online

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

cron

x