collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: [PIC18F4580] write flash  (Lida 3003 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline domitek

  • Mini Robot
  • *
  • Mensagens: 34
[PIC18F4580] write flash
« em: 10 de Junho de 2012, 20:04 »
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:
Código: [Seleccione]
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
« Última modificação: 10 de Junho de 2012, 20:14 por domitek »

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: [PIC18F4580] write flash
« Responder #1 em: 11 de Junho de 2012, 00:18 »
Queres escrever mesmo na flash ou na EEPROM, são coisas muito diferentes.
Avr fanboy

Offline domitek

  • Mini Robot
  • *
  • Mensagens: 34
Re: [PIC18F4580] write flash
« Responder #2 em: 19 de Junho de 2012, 21:09 »
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...

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: [PIC18F4580] write flash
« Responder #3 em: 19 de Junho de 2012, 21:16 »
Para isso usas eeprom e não flash!
Avr fanboy

Offline domitek

  • Mini Robot
  • *
  • Mensagens: 34
Re: [PIC18F4580] write flash
« Responder #4 em: 24 de Junho de 2012, 20:20 »
tinha mesmo ideia que era na flash.... tenho que estudar o assunto.. ::) sendo assim o código a cima deve de funcionar... certo?