Skriva till eeprom i PIC

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
newbadboy
Inlägg: 2485
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Re: Hur gå vidare?

Inlägg av newbadboy »

Nej nej det är inte så jag menar :).

Det var mest att mikroC är rätt litet jämf med ex mplab och därför kanske inte man kan få så mycket råd iom folk inte kan dess egenskaper.
Användarvisningsbild
Glenn
Inlägg: 36710
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: Hur gå vidare?

Inlägg av Glenn »

men du kanske kan ändra ämnet på tråden iaf ? ..väldigt intetsägande
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Hur gå vidare?

Inlägg av sodjan »

Jo, men *intrycket* man får av dina inlägg, är att du inte
ens har letat efter "eeprom" i MikroC manualen. Gör det,
gör som det är dokumenterat i exemplen och återkom
om det uppstår problem... :-)
Användarvisningsbild
newbadboy
Inlägg: 2485
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Re: Hur gå vidare?

Inlägg av newbadboy »

Glenn skrev:men du kanske kan ändra ämnet på tråden iaf ? ..väldigt intetsägande

Ändrat nu när jag vet vad det är jag ska kolla på ;)
Användarvisningsbild
newbadboy
Inlägg: 2485
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Re: Hur gå vidare?

Inlägg av newbadboy »

sodjan skrev:Jo, men *intrycket* man får av dina inlägg, är att du inte
ens har letat efter "eeprom" i MikroC manualen. Gör det,
gör som det är dokumenterat i exemplen och återkom
om det uppstår problem... :-)

Har jag inte heller eftersom jag är på jobb nu och ska väl eg göra annat än det...

men kunde inte motstå det och kollade snabbt hjälpfilen. Ser iaf väldigt lätt ut men funkar det bara till 16F och 18F? hmmmm. MÅste kolla upp det mer

// for PIC16
unsigned short EEPROM_Read(unsigned short address);
// for PIC18
unsigned short EEPROM_Read(unsigned int address);

// for PIC16
void EEPROM_Write(unsigned short address, unsigned short data);
// for PIC18
void EEPROM_Write(unsigned int address, unsigned short data);

Kod: Markera allt

char ii;                                 // loop variable

void main(){
  ANSEL =  0;                            // Configure AN pins as digital I/O
  ANSELH = 0;
  C1ON_bit = 0;                          // Disable comparators
  C2ON_bit = 0;

  PORTB = 0;
  PORTC = 0;
  PORTD = 0;

  TRISB = 0;
  TRISC = 0;
  TRISD = 0;
   
  for(ii = 0; ii < 32; ii++)             // Fill data buffer
    EEPROM_Write(0x80+ii, ii);           // Write data to address 0x80+ii

  EEPROM_Write(0x02,0xAA);               // Write some data at address 2
  EEPROM_Write(0x50,0x55);               // Write some data at address 0150

  Delay_ms(1000);                        // Blink PORTB and PORTC LEDs
  PORTB = 0xFF;                          //   to indicate reading start
  PORTC = 0xFF;
  Delay_ms(1000);
  PORTB = 0x00;
  PORTC = 0x00;
  Delay_ms(1000);

  PORTB = EEPROM_Read(0x02);             // Read data from address 2 and display it on PORTB
  PORTC = EEPROM_Read(0x50);             // Read data from address 0x50 and display it on PORTC

  Delay_ms(1000);

  for(ii = 0; ii < 32; ii++) {           // Read 32 bytes block from address 0x80
    PORTD = EEPROM_Read(0x80+ii);        //   and display data on PORTD
    Delay_ms(250);
    }
}
Användarvisningsbild
newbadboy
Inlägg: 2485
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Re: Skriva till eeprom i PIC

Inlägg av newbadboy »

Kollade lite snabbt på MIkroE forum och det verkar iaf som folk gjort program med kommandon ovan ihop med 675an
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Skriva till eeprom i PIC

Inlägg av sodjan »

PIC12 och PIC16 (i alla fall de vanliga modellerna) är i botten
samma arkitektur, det är bara att PIC12 är 8-pinnars modellerna.

Kör lite tester så får du se... :-)
Användarvisningsbild
newbadboy
Inlägg: 2485
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Re: Skriva till eeprom i PIC

Inlägg av newbadboy »

Ska jag def göra. Fan ju mer man lär sig ju mindre vet man :)
Användarvisningsbild
newbadboy
Inlägg: 2485
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Re: Skriva till eeprom i PIC

Inlägg av newbadboy »

Ja sån tur hade jag inte. Den stödjer inte 12F serien.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Skriva till eeprom i PIC

Inlägg av sodjan »

"Den"? Vad syftar det på? MikroC? Låter lite underligt...
Användarvisningsbild
newbadboy
Inlägg: 2485
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Re: Skriva till eeprom i PIC

Inlägg av newbadboy »

Jepp mikroc

Alltså deras färdiga funktioner för att läsa skriva eeprom stödjer inte 12 serien
Användarvisningsbild
Icecap
Inlägg: 26647
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Skriva till eeprom i PIC

Inlägg av Icecap »

Ladda då ner MPLAB och XC8, då är du i nivå med MikroC.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Skriva till eeprom i PIC

Inlägg av sodjan »

> Alltså deras färdiga funktioner för att läsa skriva eeprom stödjer inte 12 serien...

Har det stöd i någon dokumentation eller har du fått något felmeddelande
som indikerar att det är så? Eller vad bygger du det på? Jag säger inte
att det är fel, jag bara undrar hur det visade sig, och jag förstår
inte heller varför det skulle vara skillnad på PIC12 och PIC16
i detta avseende från samma generation processorer...
Användarvisningsbild
newbadboy
Inlägg: 2485
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Re: Skriva till eeprom i PIC

Inlägg av newbadboy »

Det står i dokumentaionen i helpfilen att det endast stödjer 16/18. Jag har inte provat själv då grejer och PCB är beställt och jag har inte fått hem det. Även på MikroEs forum har jag fått svar av teknisk support att det inte stödjer men de skulle kolla med R&D om det går att lägga till för framtiden. Lite svagt att det inte stödjer 12f kan jag iaf tycka. Supporten jag pratat med hade försökt kompilera ngn exempel men inte fått det till att funka för 12F

Jag kan ju inte vara den första att vilja skriva till ett eeprom på 12F serien på ett enkelt sätt.
Användarvisningsbild
Icecap
Inlägg: 26647
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Skriva till eeprom i PIC

Inlägg av Icecap »

I det datablad jag har för PIC12F675 (DS41190C) står det i sektion 8 hur man gör helt exakt.
Exempel 8-1 visar hur man läser från EEPROM'et.
Exempel 8-2 visar hur man ska göra för att skriva.

De visar i assembler men att skriva dessa i C är extremt enkelt.

Vad är problemet?
Skriv svar