Ajuda na escrita da Eeprom

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Ajuda na escrita da Eeprom

Mensagempor ivansousa » 13 Set 2008 21:42

Boas!
Preciso de escrever na eeorom da pic 18f258 valores de 16 bits. Só estou a conseguir escrever 8 bits, pk só dá para escrever 8. Estava a escrever 8 num endereço e mais os outros 8 noutro e dps a somalos mas n consegui. Alguem me pode ajudar? tou a trabalhar no compilador CCS
Obrigado
ivansousa
Bit
 
Mensagens: 21
Registrado em: 19 Ago 2008 10:14

Mensagempor phophollety » 14 Set 2008 09:06

Código: Selecionar todos

int valorDe16BitsASerGravado = 0xFFFF;
char valorLow, valorHigh;

// Gravar...

valorLow = valorDe16BitsASerGravado;
valorHigh = valorDe16BitsASerGravado >> 8;

// Ler...

valorLow = valorDe16BitsASerGravado;
valorHigh += unsigned int ( valorDe16BitsASerGravado << 8 );

// este unsigned int é um casting, quer dizer que esta operação será feita dentro de um registrador de 16 bits ( um int ) pois se vc rotacionar qualquer valor mesmo que seja 0xFF 8 vezes a esquerda, vai ter um 0x00 mas, se o fizer em 16 bits, terás 0xFF00



Só salvar o valorLow e o valorHigh, grave o High primeiro, no endereço 0x00 por exemplo e o low no 0x01, não que faça diferença no funcionamento mas, na hora de usar um for ou ter um mapa de memória ajuda...
"3 minutes of boring code review means 3 hours less fixing LSD (Little Stupid Detail)" Dr. Mike Smith
"Dê-me um ponto de apoio e uma alavanca e moverei o mundo" Arquimedes
"Quando vejo um Alfa Romeo passar eu tiro o meu chapéu" Henry FORD.
Avatar do usuário
phophollety
Dword
 
Mensagens: 1511
Registrado em: 15 Out 2006 13:00
Localização: Santo André São Paulo, Brasil

Mensagempor ivansousa » 14 Set 2008 10:25

obrigado
ivansousa
Bit
 
Mensagens: 21
Registrado em: 19 Ago 2008 10:14


Voltar para PIC

Quem está online

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

cron

x