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

990

    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. Ja taas ammuttu kokkolassa

      Kokkolaisilta pitäisi kerätä pois kaikki ampumaset, keittiöveitset ja kaikki mikä vähänkään paukku ja on terävä.
      Kokkola
      35
      4309
    2. Kuinka kauan

      Olet ollut kaivattuusi ihastunut/rakastunut? Tajusitko tunteesi heti, vai syventyivätkö ne hitaasti?
      Ikävä
      115
      1599
    3. Milli-helenalla ongelmia

      Suomen virkavallan kanssa. Eipä ole ihme kun on etsintäkuullutettu jenkkilässäkin. Vähiin käy oleskelupaikat virottarell
      Kotimaiset julkkisjuorut
      248
      1556
    4. Helena Koivu on äiti

      Mitä hyötyä on Mikko Koivulla kohdella LASTENSA äitiä huonosti . Vie lapset tutuista ympyröistä pois . Lasten kodista.
      Kotimaiset julkkisjuorut
      219
      1414
    5. Mitä siellä ABC on tapahtunut

      Tavallista isompi operaatio näkyy olevan kyseessä.
      Alajärvi
      37
      1317
    6. Ja taas kerran hallinto-oikeus että pieleen meni

      Hallinto-oikeus kumosi kunnanhallituksen päätöksen vuokratalojen pääomituksesta. https://sysmad10.oncloudos.com/cgi/DREQ
      Sysmä
      88
      1088
    7. Löydänköhän koskaan

      Sunlaista herkkää tunteellista joka jumaloi mua. Tuskin. Siksi harmittaa että asiat meni näin 🥲
      Ikävä
      132
      1072
    8. Kun näen sinut

      tulen iloiseksi. Tuskin uskallan katsoa sinua, herätät minussa niin paljon tunteita. En tunne sinua hyvin, mutta jotain
      Ikävä
      48
      1062
    9. Purra saksii taas. Hän on mielipuuhassaan.

      Nyt hän leikkaa hyvinvointialueiltamme kymmeniä miljoonia. Sotea romutetaan tylysti. Terveydenhoitoamme kurjistetaan. ht
      Maailman menoa
      267
      1041
    10. Yhdelle miehelle

      Mä kaipaan sua niin paljon. Miksi sä oot tommonen pösilö?
      Ikävä
      63
      1000
    Aihe