• Welcome to LusoRobótica - Robótica em Português.
 

[PIC18F4580] write flash

Started by domitek, 10 de June de 2012, 20:04

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

domitek

Boas,

Pessoal, desculpem estar a ser chato... mas eu estou no inicio e estou muito verde.....
Gostava de saber se posso escrever na flash na pic se sim como... eu já procurei na internet mas vi alguns com problemas.... e vi pedaços de codigo que se calhar até funcionam mas não percebo bem o que faz...

fica aqui um tópico que encontrei sobre o assunto... http://www.microchip.com/forums/m386104-print.aspx penso que pelo que é dito o código até esta mais ao menos funcional... mas eu não percebo bem o código...

ja agora arranjei este codigo aqui:

unsigned char ReadEEPROM(unsigned char address){
    EECON1=0;                   //ensure CFGS=0 and EEPGD=0
    EEADR = address;
    EECON1bits.RD = 1;
    return(EEDATA);
}

void WriteEEPROM(unsigned char address,unsigned char data){
char SaveInt;
    SaveInt=INTCON;             //save interrupt status
    EECON1=0;                   //ensure CFGS=0 and EEPGD=0
    EECON1bits.WREN = 1;        //enable write to EEPROM
    EEADR = address;            //setup Address
    EEDATA = data;              //and data
    INTCONbits.GIE=0;           //No interrupts
    EECON2 = 0x55;              //required sequence #1
    EECON2 = 0xaa;              //#2
    EECON1bits.WR = 1;          //#3 = actual write
    INTCON=SaveInt;             //restore interrupts
    while(!PIR2bits.EEIF);      //wait until finished
    EECON1bits.WREN = 0;        //disable write to EEPROM
}

O que acham dele?
alguém pode ajudar?

Cumps

senso

Queres escrever mesmo na flash ou na EEPROM, são coisas muito diferentes.
Avr fanboy

domitek

eu queria gravar algumas configurações(3 variaveis do tipo inteiro) do programa... de forma a que quando desliga-se a energia do circuito e volta-se a ligar ele recupera-se as ultimas configuraçoes... já estou a ver que errei a colocar o ultimo codigo...

senso

Para isso usas eeprom e não flash!
Avr fanboy

domitek

tinha mesmo ideia que era na flash.... tenho que estudar o assunto.. ::) sendo assim o código a cima deve de funcionar... certo?