.
Depan
Belakang
Mikrokontroller AVR
Servo X, Y, dan Sensor Cahaya LDR
Senin, 19 April 2010
Sabtu, 17 April 2010
Wireless Medical Ring
Jumat, 16 April 2010
Senin, 05 April 2010
EEPROM : Mengakses EEPROM AVR
.
Mikrokontroller AVR telah memiliki EEPROM internal yang dapat diakses langsung dengan mudah seperti halnya mengakses variabel nilai. Dengan fitur EEPROM ini perancang tidak perlu menambahkan eksternal EEPROM dan juga tidak perlu repot-repot membuat fungsi untuk mengakses EEPROM tersebut.
EEPROM pada CoViAVR
Mengakses dan mengaktifkan EEPROM pada CoViAVR semudah membuat dan memberikan nilai pada variabel global. Silahkan baca help CoViAVR tentang Accessing the EEPROM.
Penggunaan EEPROM harus menggunakan global variabel dan ditambahkan kata eeprom atau _eeprom. Pemberian nama dan nilai semudah pemberian nilai pada variabel lainnya.
Indikator digunakan dan terpakainya EEPROM pada AVR yaitu ketika dicompile akan tampak seperti gambar berikut :
Beberapa catatan mengenai EEPROM pada avr yaitu :
Potongan coding disamping adalah mengakses serial RTC kemudian data jam, menit, detik, tanggal, bulan, dan tahun disimpan di EEPROM AVR. Aplikasi ini digunakan untuk aplikasi scheduling controller atau alat pengendali berdasarkan jadual dan kalender yang ditentukan.
Ketika chip mikrokontroller AVR di program (didownload) maka saat itu pula seluruh EEPROM diprogram dan diberikan nilai sesuai dengan nilai yang diprogram pada global variabel, dalam hal ini EEPROM jam, menit, detik bernilai 0, tanggal = 1, bulan = 1, dan tahun = 10 (0x0A);
Hal inilah yang menyebabkan jika anda memprogram kembali chip mikrokontroller maka nilai EEPROM di reset sehingga seolah-olah nilai EEPROM tidak berubah atau tidak tersimpan.
Silahkan baca posting EEPROM selanjutnya.
Semoga manfaat ;)
Mikrokontroller AVR telah memiliki EEPROM internal yang dapat diakses langsung dengan mudah seperti halnya mengakses variabel nilai. Dengan fitur EEPROM ini perancang tidak perlu menambahkan eksternal EEPROM dan juga tidak perlu repot-repot membuat fungsi untuk mengakses EEPROM tersebut.
EEPROM pada CoViAVR
Mengakses dan mengaktifkan EEPROM pada CoViAVR semudah membuat dan memberikan nilai pada variabel global. Silahkan baca help CoViAVR tentang Accessing the EEPROM.
Penggunaan EEPROM harus menggunakan global variabel dan ditambahkan kata eeprom atau _eeprom. Pemberian nama dan nilai semudah pemberian nilai pada variabel lainnya.
Indikator digunakan dan terpakainya EEPROM pada AVR yaitu ketika dicompile akan tampak seperti gambar berikut :
Beberapa catatan mengenai EEPROM pada avr yaitu :
- Total EEPROM pada ATmega8535 adalah 512 Byte EEPROM.
- EEPROM AVR menggunakan ukuran data terkecil yaitu 16 bit atau 2 Byte sehingga total EEPROM yang bisa digunakan pada CoViAVR adalah 512 / 2 = 256.
- Secara otomatis alamat EEPROM akan dimulai dari 0x0000 dan untuk menentukan alamat EEPROM sesuai keinginan programmer yaitu menggunakan tanda @.
- misalnya : eeprom unsigned int nilai @0x2C;
Potongan coding disamping adalah mengakses serial RTC kemudian data jam, menit, detik, tanggal, bulan, dan tahun disimpan di EEPROM AVR. Aplikasi ini digunakan untuk aplikasi scheduling controller atau alat pengendali berdasarkan jadual dan kalender yang ditentukan.
Ketika chip mikrokontroller AVR di program (didownload) maka saat itu pula seluruh EEPROM diprogram dan diberikan nilai sesuai dengan nilai yang diprogram pada global variabel, dalam hal ini EEPROM jam, menit, detik bernilai 0, tanggal = 1, bulan = 1, dan tahun = 10 (0x0A);
Hal inilah yang menyebabkan jika anda memprogram kembali chip mikrokontroller maka nilai EEPROM di reset sehingga seolah-olah nilai EEPROM tidak berubah atau tidak tersimpan.
Silahkan baca posting EEPROM selanjutnya.
Semoga manfaat ;)
Sabtu, 03 April 2010
Data Type pada CoViAVR
.
Pada posting : Matematika pd Bilangan Pecahan (float)
Saya membahas mengenai error pada hasil perhitungan, dan ketika membuka-buka Help CoViAVR tentang Data Types dan Type Conversions terdapat informasi yang menunjukkan penyebab terjadinya error pada pemrosesan 2 buah bilangan yang berbeda tipe.
Kali ini akan saya coba bahas.
Data Types
Gambar tersebut memberikan informasi mengenai tipe data, penulisan tipe data, range tipe data, dan ukurannya / Size (Bits).
Jika menggunakan program pada komputer seperti Delphi, Visual C, Visual Studio, Visual Basic, dll, penggunaan tipe data kurang begitu diperhatikan karena komputer memiliki prosessor yang cepat dan RAM yang besar.
Tetapi untuk mikrokontroller penggunaan tipe data (sangat) penting karena mempengaruhi beberapa hal antara lain : kecepatan eksekusi mikrokontroller, penggunaan RAM / Data Stack Size, Kapasitas memori program, dan hasil pada perhitungan.
Type Data
Type data penulisannya harus sesuai agar range nilai yang digunakan sesuai dengan perancangan, penulisan tipe data seperti pada gambar diatas. Jika tipe data char ditulis tanpa menggunakan unsigned (tidak tanda) atau signed (bertanda) maka secara otomatis compiler akan membuatnya menjadi unsigned sesuai dengan konfigurasi default-nya.
Pada tipe bit, bool, _Bool menyatakan suatu keadaan yang bernilai true (1 / high) atau false (0 /low) tetapi ukuran bit hanya 1 bit sedangkan ukuran bool dan _Bool 1 byte (8 bit). Oleh sebab itu harus mengetahui kapan menggunakan bit dan kapan menggunakan bool/_Bool.
Contohnya yaitu ketika bit digunakan saat mengakses 1 buah pin mikrokontroller dan bool digunakan ketika menggunakan 1 buah RAM (1 byte) sebagai memori menyimpan nilai true atau false (karena ram / stack pointer minimal 1 byte).
Size (bits)
Size (bits) berpengaruh pada beberapa hal yaitu (yang kuketahui) :
Contoh untuk aritmatika :
unsigned char a=30;
unsigned char b=128;
unsigned int c;
c=a*b; // hasilnya salah
c=(unsigned int) a*b; // hasil tipe unsigned char dikonversi menjadi unsigned int.
Met Mencoba. ;)
Pada posting : Matematika pd Bilangan Pecahan (float)
Saya membahas mengenai error pada hasil perhitungan, dan ketika membuka-buka Help CoViAVR tentang Data Types dan Type Conversions terdapat informasi yang menunjukkan penyebab terjadinya error pada pemrosesan 2 buah bilangan yang berbeda tipe.
Kali ini akan saya coba bahas.
Data Types
Gambar tersebut memberikan informasi mengenai tipe data, penulisan tipe data, range tipe data, dan ukurannya / Size (Bits).
Jika menggunakan program pada komputer seperti Delphi, Visual C, Visual Studio, Visual Basic, dll, penggunaan tipe data kurang begitu diperhatikan karena komputer memiliki prosessor yang cepat dan RAM yang besar.
Tetapi untuk mikrokontroller penggunaan tipe data (sangat) penting karena mempengaruhi beberapa hal antara lain : kecepatan eksekusi mikrokontroller, penggunaan RAM / Data Stack Size, Kapasitas memori program, dan hasil pada perhitungan.
Type Data
Type data penulisannya harus sesuai agar range nilai yang digunakan sesuai dengan perancangan, penulisan tipe data seperti pada gambar diatas. Jika tipe data char ditulis tanpa menggunakan unsigned (tidak tanda) atau signed (bertanda) maka secara otomatis compiler akan membuatnya menjadi unsigned sesuai dengan konfigurasi default-nya.
Pada tipe bit, bool, _Bool menyatakan suatu keadaan yang bernilai true (1 / high) atau false (0 /low) tetapi ukuran bit hanya 1 bit sedangkan ukuran bool dan _Bool 1 byte (8 bit). Oleh sebab itu harus mengetahui kapan menggunakan bit dan kapan menggunakan bool/_Bool.
Contohnya yaitu ketika bit digunakan saat mengakses 1 buah pin mikrokontroller dan bool digunakan ketika menggunakan 1 buah RAM (1 byte) sebagai memori menyimpan nilai true atau false (karena ram / stack pointer minimal 1 byte).
Size (bits)
Size (bits) berpengaruh pada beberapa hal yaitu (yang kuketahui) :
- Besarnya memori program, RAM, data stack size, dan EEPROM (jika digunakan). Oleh sebab itu untuk menghemat memori gunakan tipe data yang tepat.
- Kecepatan eksekusi mikrokontroller. Berkaitan dengan point 1 semakin besar Size-nya semakin lama waktu eksekusinya.
- Kesalahan pada proses aritmatika data atau perpindahan data.
Contoh untuk aritmatika :
unsigned char a=30;
unsigned char b=128;
unsigned int c;
c=a*b; // hasilnya salah
c=(unsigned int) a*b; // hasil tipe unsigned char dikonversi menjadi unsigned int.
Met Mencoba. ;)
Langganan:
Postingan (Atom)
Topik yang Populer
-
Baca dulu : RPM motor DC : Perancangan Alat RPM Motor DC : Pengaturan Timer 8 bit RPM Motor DC : Pengaturan Timer 16 bit Berikut ini adalah...
-
. Data yang ingin diolah oleh Robot Line Tracing nantinya adalah logika 1/0 dari data PORTA ADC sensor garis, sehingga dibutuhkan konversi d...
-
. Biar memahami konsep sistem scanning baca dulu posting sebelumnya tentang : - Keypad Matriks - Keypad Matriks I : Konsep Dasar Pada listin...