Rotina conversão

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Rotina conversão

Mensagempor _blackmore_ » 03 Mar 2010 21:12

para aproveitar melhor o conteúdo de uma eeprom de um pic ... eu preciso de uma rotina para converter valores decimal para hexa (para gravar na memoria) ... e de hexa para binário.
Para não ter que fazê-la (apesar de que já estou a fazendo) eu peço aos amigos que me indiquem algum algoritmo já pronto para utilizar em C para CCS ou C18 ...
Se alguém puder me ajudar ... eu agradeço.

abrax!
_blackmore_
Dword
 
Mensagens: 1397
Registrado em: 28 Set 2008 13:26

Mensagempor vtrx » 03 Mar 2010 21:48

Ja adiantando,é para gravar oque na memo?
Se for wav,ja tenho um programa demo (windows) que faz isso,se não for,me diga como esta armazenando esse decimais,ok?
se for para implementar em uma rotina sua do PIC em C,desconsidere oque falei pois meu prog ja gera um arquivo hex padrão Intel.
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Mensagempor _blackmore_ » 03 Mar 2010 23:10

eu preciso é para gravar um registro de saídas ... apenas ligar equipamentos ... exemplo hora ligo as saídas do valor binario ... 10010001 ... outra hora .... 11100001 ... e guardando estes valores na eeprom .. eu posso apenas registrar 32 ajustes em binario ... onde existem 255 possíveis em hexa ...... não que eu vá utilizar todos ... mas para utilizar a eeprom para outras funções ( no caso de guardar ajustes de controle ... não tenho mais memoria disponível ...) ... e isso me faz abrir mais possibilidades de melhorar um sistema ...
obrigado pela atenção bixo! :)

abrax!
_blackmore_
Dword
 
Mensagens: 1397
Registrado em: 28 Set 2008 13:26

Mensagempor ze » 04 Mar 2010 07:13

Código: Selecionar todos
#define BCD2BYTE( b ) ( ( ( ( ( b ) >> 4 ) & 0x0f ) * 10 ) + ( ( b ) & 0x0f ) )
#define BYTE2BCD( b ) ( ( ( ( b ) / 10 ) << 4 ) + ( ( b ) % 10 ) )

mas isso não vai fazer voce "aproveitar melhor". Pra eeprom é indiferente. Dicas: Guarde como estiver (d ou h) mesmo e faça a conversão só no processamento. E não guarde a todo momento. Apenas grave ao desligar o eqpto mesmo assim só se tiver um valor diferente. Um capacitor +- grande dá conta de fazer isso antes do reset. Ah e não é função. é macro (ja deve saber) portanto use com moderação ou DENTRO de uma FUNÇÃO.
abç
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32


Voltar para PIC

Quem está online

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

x