Página 1 de 1

WRITE_PROGRAM_EEPROM - CCS

MensagemEnviado: 12 Dez 2006 09:43
por charles
Estou usando o comando WRITE_PROGRAM_EEPROM para gravar alguns dados na memória de programa. Ví no help que ele grava 16bits, mas quando executei o comando para gravar 0xFFFF e depois lendo este mesmo dado vi que ele gravou só 3FFF que daria 14 bits. O help do CCS esta errado????

Estou usando o pic 16f877a.

MensagemEnviado: 12 Dez 2006 20:52
por tcpipchip
Manda o exemplo pra turma

MensagemEnviado: 13 Dez 2006 07:39
por charles
write_program_eeprom(0,0xFFFF);
value = read_program_eeprom(0);
printf("%LX\n\r",value);

O valor que recebo é 3FFF

MensagemEnviado: 13 Dez 2006 08:03
por andre_luis
Eu armazeno dados de 16 bits (int) dividindo em LSB e MSB.

MensagemEnviado: 13 Dez 2006 08:32
por ric_vas
O Tamanho da palavra na família PIC16 não é 14-bit mesmo?

Ric

MensagemEnviado: 13 Dez 2006 09:15
por charles
Se for de 14bits há um erro no help do CCS. Lá diz que é de 16bits...

MensagemEnviado: 13 Dez 2006 09:33
por ric_vas
O que eu acho é que o comando suporta 16bits para a variável data ( os registradores internos do processador são agrupados em 8bits), mas a memória flash do PIC16 é 14bits apenas e por isso não armazena todos os bits.

Acho que o help não entra neste detalhe.

Ric