Entrar    Registrar
  • Autor
    Mensagem

Como gravar na memoria EEPROM interna do PIC18F4550 em C18?

Mensagempor raf.dss » 29 Set 2017 16:41

preciso realizar a escrita e a leitura de dados na memoria EEPROM interna de um pic18f4550, no entanto como estou aprendendo linguagem C ainda, não tenho muito conhecimento a respeito e não consigo adquirir alguma biblioteca para o C18 da Microchip.

Tentei procurar pelas bibliotecas descritas no livro Microcontroladores PIC18 aprenda e programe em linguagem C, do autor Alberto Noboru Miyadaira, no entanto não obtive resultados, caso alguém possa me dar alguma dica agradeço desde já.
raf.dss
 
Mensagens: 3
Registrado em: 29 Set 2017 16:34

Re: Como gravar na memoria EEPROM interna do PIC18F4550 em C

Mensagempor tcpipchip » 29 Set 2017 16:45

faz uma busca...lembro que ja foi discutido isto!
------------------------------------------
http://www.youtube.com/tcpipchip
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 5580
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Re: Como gravar na memoria EEPROM interna do PIC18F4550 em C

Mensagempor raf.dss » 29 Set 2017 16:50

tcpipchip escreveu:faz uma busca...lembro que ja foi discutido isto!


então eu procurei sobre, mas utilizando o compilador C18 não consegui nenhum resultado infelizmente
raf.dss
 
Mensagens: 3
Registrado em: 29 Set 2017 16:34

Re: Como gravar na memoria EEPROM interna do PIC18F4550 em C

Mensagempor KrafT » 29 Set 2017 20:39

Cara, se tais começando, usa o XC8.

Ele é meio estúpido na versão free, mas pelo menos é atual e amigável, além de ter mais suporte.

Por exemplo: http://microchipdeveloper.com/faq:36
"..."Come to the edge," he said. And so they came. And he pushed them. And they flew."― Guillaume Apollinaire
Avatar do usuário
KrafT
Dword
 
Mensagens: 2033
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Re: Como gravar na memoria EEPROM interna do PIC18F4550 em C

Mensagempor vtrx » 29 Set 2017 22:37

cpp code
void Write_b_eep( unsigned int Endere,unsigned char bdata ) 
{
EEADR = (Endere & 0x0ff);
EEDATA =bdata;
EECON1bits.EEPGD = 0;
EECON1bits.CFGS = 0;
EECON1bits.WREN = 1;
INTCONbits.GIE = 0;
EECON2 = 0x55;
EECON2 = 0xAA;
EECON1bits.WR = 1;
while(EECON1bits.WR);
INTCONbits.GIE = 1;
EECON1bits.WREN = 0;
}
// EXEMPLO DE ESCRITA ->Write_b_eep(0x0069,0x0010);
//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
unsigned char Read_b_eep( unsigned int badd )
{
EEADR = (badd & 0x0ff);
EECON1bits.CFGS = 0;
EECON1bits.EEPGD = 0;
EECON1bits.RD = 1;
return ( EEDATA ); // return with read byte
// EXEMPLO DE LEITURA ->Read_b_eep( 0x0069)
}
vtrx
Dword
 
Mensagens: 1742
Registrado em: 20 Abr 2008 21:01

Re: Como gravar na memoria EEPROM interna do PIC18F4550 em C

Mensagempor raf.dss » 30 Set 2017 16:59

muito obrigado a todos ajudou muito, no entanto gostaria de saber se é possível e como escrever valores acima de 255 na memoria eeprom, estou tendo muita dificuldade nessa parte kk
raf.dss
 
Mensagens: 3
Registrado em: 29 Set 2017 16:34

Re: Como gravar na memoria EEPROM interna do PIC18F4550 em C

Mensagempor andre_teprom » 01 Out 2017 04:04

raf.dss escreveu:gostaria de saber se é possível e como escrever valores acima de 255 na memoria eeprom


Código: Selecionar todos
Write_b_eep( Address , (unsigned char)(data >> 8) ); // MSB
Write_b_eep( Address+1 , (unsigned char)( data & 0x00FF) ); // LSB
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_teprom
Dword
 
Mensagens: 5222
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: Como gravar na memoria EEPROM interna do PIC18F4550 em C

Mensagempor xultz » 02 Out 2017 10:07

O XC8 já possui comandos de eeprom_read e eeprom_write, é só ver como funciona na documentação do compilador.
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 2879
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Re: Como gravar na memoria EEPROM interna do PIC18F4550 em C

Mensagempor KrafT » 02 Out 2017 10:56

xultz escreveu:O XC8 já possui comandos de eeprom_read e eeprom_write, é só ver como funciona na documentação do compilador.


Poisé... Ele não se manifestou se pegou um código/projeto para dar manutenção ou está começando algo novo. Se ele está começando do zero, ele deveria usar algo como GCC, ou então a ferramenta oficial.

Vai sabê... :?:

De qualquer forma, se atendo restritamente à pergunta dele, a mesma já foi respondida. Mas em vez a proposta do André, eu uso struct/union para tal.
"..."Come to the edge," he said. And so they came. And he pushed them. And they flew."― Guillaume Apollinaire
Avatar do usuário
KrafT
Dword
 
Mensagens: 2033
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Re: Como gravar na memoria EEPROM interna do PIC18F4550 em C

Mensagempor rafael » 03 Out 2017 15:31

Para PIC18 as ferramentas C18 e XC8 são a mesma coisa, a microchip deu apenas uma maquiada.

Ah, o compilador do c18, xc8, c30, xc16 eh o mesmo: GCC.

A microchip fez apenas o linker e adequou o gcc e cobram uma fortuna por isso !


Enviado do meu iPhone usando Tapatalk
/***************************************
Rafael Gebert

TEWAC Tecnologia
e-mail: rafael@tewac.com.br
***************************************/
rafael
Bit
 
Mensagens: 33
Registrado em: 08 Mar 2007 10:37
Localização: Rio Grande, RS - Brazil

Re: Como gravar na memoria EEPROM interna do PIC18F4550 em C

Mensagempor rafael » 03 Out 2017 15:33

Esqueci do c32 e xc32!


Enviado do meu iPhone usando Tapatalk
/***************************************
Rafael Gebert

TEWAC Tecnologia
e-mail: rafael@tewac.com.br
***************************************/
rafael
Bit
 
Mensagens: 33
Registrado em: 08 Mar 2007 10:37
Localização: Rio Grande, RS - Brazil

Re: Como gravar na memoria EEPROM interna do PIC18F4550 em C

Mensagempor xultz » 03 Out 2017 15:37

O C18 e XC8 não são tão iguais assim, muitas bibliotecas que a própria Microchip desenvolveu pro C18 não compilam no XC8. Por exemplo, para usar o ENC28J60, chip da própria Microchip, tem que usar o C18 porque as bibliotecas e a pilha TCP/IP só compilam no C18. Parece que apareceu suporte prá no MCC nas versões mais recentes, mas isso mais de 4 anos depois de lançarem o primeiro XC8.
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 2879
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Re: Como gravar na memoria EEPROM interna do PIC18F4550 em C

Mensagempor KrafT » 04 Out 2017 07:22

rafael escreveu:Esqueci do c32 e xc32!


Bom, eu achava que os XCxx da Microchip eram evolução os compiladores da Hitech, que por suas vez teriam sido desenvolvidos "do zero".

Mas isso não importa. O que eu estou dizendo, é que quem está começando terá uma curva de aprendizado mais gratificante com a ferramenta oficial (Mplab X + XC8, no caso). Depois que ele ficar bom, ele vai escrever o código no VI, compilar e linkar na linha de comando, tudo configurado na unha e sem necessidade de debugar cada linha do código. Nesse momento ele também não vai precisar do fórum e vai passar por aqui só para tripudiar sobre nossa ignorância.
"..."Come to the edge," he said. And so they came. And he pushed them. And they flew."― Guillaume Apollinaire
Avatar do usuário
KrafT
Dword
 
Mensagens: 2033
Registrado em: 11 Out 2006 14:15
Localização: Blumenau -SC

Re: Como gravar na memoria EEPROM interna do PIC18F4550 em C

Mensagempor rafael » 11 Out 2017 20:49

xultz escreveu:O C18 e XC8 não são tão iguais assim, muitas bibliotecas que a própria Microchip desenvolveu pro C18 não compilam no XC8. Por exemplo, para usar o ENC28J60, chip da própria Microchip, tem que usar o C18 porque as bibliotecas e a pilha TCP/IP só compilam no C18. Parece que apareceu suporte prá no MCC nas versões mais recentes, mas isso mais de 4 anos depois de lançarem o primeiro XC8.


Nunca tentei para C18 / XC18 mas na época que eu usava a pilha TCP da Microchip com algumas alterações eu consegui alternar entre C30 e XC16.... Na verdade é apenas questão de arrumar macros e diretivas... é chato e doloroso mas não impossível.
/***************************************
Rafael Gebert

TEWAC Tecnologia
e-mail: rafael@tewac.com.br
***************************************/
rafael
Bit
 
Mensagens: 33
Registrado em: 08 Mar 2007 10:37
Localização: Rio Grande, RS - Brazil

Re: Como gravar na memoria EEPROM interna do PIC18F4550 em C

Mensagempor rafael » 11 Out 2017 20:59

dá uma olhada na imagem
Você não está autorizado a ver ou baixar esse anexo.
/***************************************
Rafael Gebert

TEWAC Tecnologia
e-mail: rafael@tewac.com.br
***************************************/
rafael
Bit
 
Mensagens: 33
Registrado em: 08 Mar 2007 10:37
Localização: Rio Grande, RS - Brazil

Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes