EEPROM-muistin käyttö

Codevision-koodaaja

Kiitos avusta edelliseen viestiini vastanneille nimimerkeille asödkjfölaksjdfasdf ja keksa. Näillä pääsen eteenpäin toistaiseksi.

Mulla olisi myös toinen pulma, nimittäin mikro-ohjaimen sisäisen EEPROM-muistin käyttö. Projektissani tullaan joskus myöhemmin tarvitsemaan jonkinlaista keinoa säilyttää muuttujien arvoja sähkökatkoksen yli, ja EEPROM voisi olla ratkaisu.

Tietääkö joku, millaisilla komennoilla ja funktioilla EEPROM-muistiin viedään muuttujia ja niiden arvoja ja miten ne saadaan sieltä ulos? Kutsutaanko ne käyttöön globaalisti, vai funktiokohtaisesti?

Kiitos etukäteen.

4

1062

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Codevision-koodaaja

      ollaan siis edelleen tietysti CodevisionAVR-kääntäjäympäristössä.

    • keksa

      hmm eikös eeprom vaatinut sen, että data "poltetaan" muistiin valolla tms?

      Saako siihen vehkeeseen Flash-muistia kiinni?

      Muisti näkyy prosessorille aina jonain muistiosoitteina, johon siirretään tietoa ihan kuten muutenkin.

      intel 8051 prossussa tai olla, että sisäiseen muistiin kirjoitettiin MOV-käskyllä ja ulkoisiin MOVX-käskyllä.

      MOVX 2000H, A #siirtää rekisterin A sisällön tuohon muistiosoitteeseen.

      Ei kovin tarkasti muista 10v takaisia juttuja

      • Codevision-koodaaja

        EEPROM voidaan ymmärtääkseni ohjelmoida ja tyhjentää sähköisesti, onhan nyt kyseessä AVR-ohjeimen sisäinen EEPROM. Sen nimikin tulee sanoista "Electricly eraseable Programmable Read Only Memory."

        Yhden e:n prom, eli EPROM vaati ultraviolettia tyhjennykseen.


    • ökjaösdkjfaöklsdf

      Prosessorin user manualissa on varmaan kerrottu EEPROM:n käytöstä tai annettu linkki johonkin muuhun dokumenttiin joka selventää asiaa. Atmellin sivuilta löytyi seuraava dokumentti, (en tiedä koskeeko prosessoriasi).

      http://www.atmel.com/dyn/resources/prod_documents/doc0932.pdf

      Jos tuon linkin mukaan tekee yksinkertaiset luku ja kirjoitus rutiinit (joka käsittelee tavua), niin taitavat mennä jotenkin seuraavasti CodeVisionilla:

      --- ALKAA ---

      void eeprom_write(int osoite, char merkki);
      char eeprom_read(int osoite);

      /* Kirjoittaa merkin EEPROM muistiin haluttuun osoitteeseen */
      void eeprom_write(int osoite, char merkki)
      {
         /* Odotetaan että edellinen kirjoitus on suoritettu loppuun */
         while(EECR.1);

         /* Asetetaan osoiteen ylempi ja almepi tavu johon kirjoitetaan */
         EEARH = (osoite >> 8) & 0xff;
         EEARL = (osoite >> 0) & 0xff;

         /* Asetetaan kirjoitettava data */
         EEDR = merkki;

         /* Otetaan keskeytykset pois */
         #asm("cli");

         /* Asetetaan EEMWE (EEPROM master write enable) bitti päälle */
         EECR.2 = 1;

         /* Asetetaan EEWE (EEPROM write enable) bitti päälle */
         EECR.1 = 1;

         /* Sallitaan kesketytykset */
         #asm("sei");
      }

      /* Lukee merkin EEPROM muistista halutusta osoitteesta */
      char eeprom_read(int osoite)
      {
         char merkki;

         /* Odotetaan että edellinen kirjoitus on suoritettu loppuun */
         while(EECR.1);

         /* Asetetaan osoiteen ylempi ja almepi tavu johon kirjoitetaan */
         EEARH = (osoite >> 8) & 0xff;
         EEARL = (osoite >> 0) & 0xff;

         /* Asetetaan EERE (EEPROM read enable) bitti päälle */
         EECR.0 = 1;

         /* Luetaan merkki */
         merkki = EEDR;

         /* Palautetaan luettu merkki */
         return merkki;
      }


      --- LOPPUU ---

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Jens Ihlen (ex Kukka) poika todistaa oikeudessa

      10:49 "Välit ovat olemattomat" Minkälainen isäsi ja sinun välinen suhde on tällä hetkellä? "Minulla ei ole minkäännäkö
      Maailman menoa
      254
      9542
    2. Riikka runnoo! Uutta velkaa tänä vuonna 17 mrd. euroa

      Tirsk. Nyt kyllä hihityttää kuin pientä eläintä. Riikka takoo maailmanennätyksiä tasaiseen tahtiin. " [Riikka] joutuu
      Maailman menoa
      152
      7722
    3. K-kaupassa on mukava käydä, kun ei tarvitse katsella köyhiä

      vasemmistolaisia, joista monet myös varastavat. Mielellään maksaa vähän enemmän tuotteista K-kaupassa, jotka ovat paljon
      Maailman menoa
      155
      5319
    4. Suomeen ei kuulu ihmiset jotka ei halua kätellä toisia ihmisiä, koska tämä on vääräuskoinen

      Nainen joka ei halunnut kätellä Stubbia on selvästi ääripään muslimi, eli sitä sakkia josta niitä ongelmia koituu. Ulos
      Maailman menoa
      153
      4991
    5. PS:n Purra teki -JÄTTI-VELAT

      * * PS:n Purra teki -JÄTTI-VELAT - ! ja jätti MaksuHuolet -Kansan Maksettavaksi -! *
      Maailman menoa
      59
      4680
    6. Suomessa on ollut suurtyöttömyyttä ennenkin, ja lääkäriin pääsee nykyäänkin

      Täällähän oli jonkun sekopään(vas.) juttu, että ennen ei ollut työttömyyttä ja lääkäriin pääsi. Siihen alkoi tietysti ko
      Maailman menoa
      105
      4360
    7. Kysymys: Kuinka moneen maahan neuvosto-venäjä on hyökännyt

      viimeisten 90-vuoden aikana? Ja lähinnä on siis kyse neuvosto-venäjän naapurimaista - kuten Suomesta. Lista on huomatta
      Maailman menoa
      142
      4215
    8. Ootko sä nainen suuttunut

      jostain? Harmi jos tullut väärinkäsityksiä.
      Ikävä
      174
      2074
    9. Nainen, sanotaan että totuus tekee kipeää

      Ehkä mutta se voi olla myös se kaikkein kamalin asia kohdata. Kuplassa on turvallista, kun tietää vähemmän on helpompi.
      Ikävä
      10
      2005
    10. Valtio lopettaa pienituloisten perheiden kylpylälomien tukemisen

      Pienituloiset suomalaiset ovat voineet vuosikymmenten ajan hakea tuettuja lomia terveydellisin, sosiaalisin ja taloudell
      Maailman menoa
      292
      1696
    Aihe