judul
Breaking News
Loading...
Sabtu, 11 Oktober 2014

String CodevisionAVR - Mengakses internal eeprom

Sabtu, Oktober 11, 2014
ATMEL khususnya untuk jenis AVR telah memiliki EEPROM (Electrically Erasable Programmable Read Only Memory) internal sebagai tempat penyimpanan data semi-permanen. Jadi seperti halnya flash memory, EEPROM tetap dapat menyimpan data meskipun catu daya dimatikan, dengan kata lain data tidak akan hilang walaupun catu daya dimatikan. EEPROM internal ini tidak dipetakan bersama dengan register utama, register I/O dan SRAM. EEPROM hanya dapat diakses melalui register spesial dan operasi read/write sehingga waktu aksesnya lebih lamban dari pada mengakses register ataupun SRAM.  Tentu ini berbeda dengan MCS51 yang hanya mempunyai FLASH dan SRAM.

Data yang disimpan di EEPROM tidak akan hilang ketika power dimatikan. Jadi sangat berguna untuk menyimpan data2 yang penting, seperti yang dijelaskan diatas.

Mengakses internal EEPROM microcontroller AVR harus menggunakan variable global , lokasi deklarasi variable pada codevision berada dibawah baris:
eeprom char setting=0;
eeprom char id_alat[5]="9116";
eeprom char sms_noserver1[16]="085743222640";

Untuk mengakses data String  yang tersimpan pada eeprom, kemudian simpan pada RAM, subroutien seperti dibawah ini:
char * strcpye(eeprom char * stringeep,char * stringchar)
{
    int a,b;
    b=0;
    clear_buffer(stringchar);
    for(a=0;stringeep[a]!=NULL;a++)
        {
            stringchar[b++]=stringeep[a];
        }
    stringchar[b]=NULL;
  return stringchar;
}

Untuk menyimpan data pada  eeprom, subroutien seperti dibawah ini:
eeprom char * eepstrcpy(eeprom char * streep,char * strchar)
{
       int a,b;
       b=0;
       clear_buffer_EEPROM(streep);
       for(a=0;strchar[a]!=NULL;a++)
      { 
          streep[b++]=strchar[a];
       }
      streep[b]=NULL;
     return streep;
}

well done, begitu mudah kan teman? Menggunakan CodeVisionAVR memang mudah tapi harus teliti dan rajin baca datasheet hardware (uC) terutama register yang berkaitan dengan EEPROM. Ada pertanyaan atau komentar? Monggo

Semoga artikel ini membantu pada blogwalker yang sedang pengetahuan tentang internal eeprom pada AVR.

0 komentar:

Posting Komentar

 
Toggle Footer