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: 5418
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
-=this space is for sale=-
Avatar do usuário
KrafT
Dword
 
Mensagens: 1906
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: 1633
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: 5084
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: 2856
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.
-=this space is for sale=-
Avatar do usuário
KrafT
Dword
 
Mensagens: 1906
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: 32
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: 32
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: 2856
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.
-=this space is for sale=-
Avatar do usuário
KrafT
Dword
 
Mensagens: 1906
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: 32
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: 32
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

cron