Moderadores: andre_luis, 51, guest2003, Renie
tcpipchip escreveu:faz uma busca...lembro que ja foi discutido isto!
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)
}
raf.dss escreveu:gostaria de saber se é possível e como escrever valores acima de 255 na memoria eeprom
Write_b_eep( Address , (unsigned char)(data >> 8) ); // MSB
Write_b_eep( Address+1 , (unsigned char)( data & 0x00FF) ); // LSB
xultz escreveu:O XC8 já possui comandos de eeprom_read e eeprom_write, é só ver como funciona na documentação do compilador.
rafael escreveu:Esqueci do c32 e xc32!
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.
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante