WRITE_PROGRAM_EEPROM - CCS

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

WRITE_PROGRAM_EEPROM - CCS

Mensagempor charles » 12 Dez 2006 09:43

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.
charles
Bit
 
Mensagens: 20
Registrado em: 18 Out 2006 16:32

Mensagempor tcpipchip » 12 Dez 2006 20:52

Manda o exemplo pra turma
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Mensagempor charles » 13 Dez 2006 07:39

write_program_eeprom(0,0xFFFF);
value = read_program_eeprom(0);
printf("%LX\n\r",value);

O valor que recebo é 3FFF
charles
Bit
 
Mensagens: 20
Registrado em: 18 Out 2006 16:32

Mensagempor andre_luis » 13 Dez 2006 08:03

Eu armazeno dados de 16 bits (int) dividindo em LSB e MSB.
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor ric_vas » 13 Dez 2006 08:32

O Tamanho da palavra na família PIC16 não é 14-bit mesmo?

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

Mensagempor charles » 13 Dez 2006 09:15

Se for de 14bits há um erro no help do CCS. Lá diz que é de 16bits...
charles
Bit
 
Mensagens: 20
Registrado em: 18 Out 2006 16:32

Mensagempor ric_vas » 13 Dez 2006 09:33

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
ric_vas
Nibble
 
Mensagens: 93
Registrado em: 11 Out 2006 22:22
Localização: RS


Voltar para PIC

Quem está online

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

cron

x