Forum: Mikrocontroller und Digitale Elektronik PIC18 +C18 +EEPROM


von Noppes (Gast)


Lesenswert?

Hallo zusammen,

gibt es eine C-Library(schreiben, lesen, char, int, float) für den 
internen EEPROM des PIC18F2455?

Danke schon mal!

von Alex B. (Firma: Ucore Fotografie www.ucore.de) (alex22) Benutzerseite


Lesenswert?

Hallo Noppes,
danach habe ich vor ein paar Tagen auch geschaut, konnte aber auf Anhieb 
nichts finden. In der library documentation vom C18 steht dazu auch 
nichts. Ich hab mir die für meine Anwendung benötigten Funktionen dann 
selbst geschrieben, ist erstaunlich wenig Aufwand.
Da gibt es im Netz bestimmt schon Leute, die sich die "Mühe" gemacht 
haben und da guten Code produziert haben.
Falls du was findest würd ich mich freuen, wenn du es hier postest.

Schöne Grüße,
Alex

von Dr.Seltsam (Gast)


Lesenswert?

Folgendes Steht imho im Datenblatt oder AppNote oder so und so 
funktionierts bei mir auch:
1
void EEPROM_WRITE(char data, char adress)
2
{
3
  EECON1bits.EEPGD = 0;  /* WRITE step #1 */
4
  EECON1bits.WREN = 1;   /* WRITE step #2 */
5
  EEADR = adress;        /* WRITE step #3 */
6
  EEDATA = data;         /* WRITE step #4 */
7
  EECON2 = 0x55;         /* WRITE step #5 */
8
  EECON2 = 0xAA;         /* WRITE step #6 */
9
  EECON1bits.WR = 1;     /* WRITE step #7 */
10
  while(!PIR2bits.EEIF); /* WRITE step #8 */
11
  PIR2bits.EEIF = 0;     /* WRITE step #9 */
12
}
13
14
15
char EEPROM_READ(char adress)
16
{
17
  EECON1bits.EEPGD = 0;  /* READ step #1 */
18
  EEADR = adress;        /* READ step #2 */
19
  EECON1bits.RD = 1;     /* READ step #3 */
20
  return EEDATA;         /* READ step #4 */
21
}


Gruß
Dr.Seltsam

von Noppes (Gast)


Angehängte Dateien:

Lesenswert?

Hab was gefunden. Siehe Anhang.

Danke für eure Antworten!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.