PROGMEM

Paylaş
PROGMEM

Datayı SRAM yerine Flash’ta depolamaya yarar.

Sadece pgmspace.h’ta tanımlanan değişken tiplerinde işe yarar. Kendisi de pgmspace.h’ta tanımlandığından yazdığınız programda kullanmak için pgmspace.h’ı da programa eklemelisiniz.

#include <avr/pgmspace.h>

Kullanımı:

değişken_tipi değişken_adı[] PROGMEM = {değişken1, değişken2, değişken3, …}

PROGMEM bir değişken değiştirici (variable modifier) olduğundan değişken tanımlanırken hangi sırada kullanıldığının önemi yoktur. Şu şekillerde de kullanılabilir:
değişken_tipi değişken_adı[] PROGMEM = {}
değişken_tipi PROGMEM değişken_adı[] = {}
PROGMEM değişken_tipi değişken_adı[] = {}

PROGMEM kullanımı iki aşamalı bir işlemdir, datayı Flash’a yazmak için olduğu gibi okumak için de özel yöntemler vardır.

PROGMEM için kullanabileceğiniz değişken tipleri şunlardır:
prog_char signed char tipindedir, 1 byte alan kaplar (-127, 127 arası)
prog_uchar unsigned char tipindedir, 1 byte alan kaplar (0’dan 255’e kadar)
prog_int16_t signed int tipindedir, 2 byte alan kaplar (-32.767, 32768 arası)
prog_uint16_t unsigned int tipindedir, 2 byte alan kaplar (0’dan 65.535’e kadar)
prog_int32_t signed long tipindedir, 4 byte alan kaplar (-2.147.483.648 – 2.147.483.647 arası)
prog_uint32_t unsigned long tipindedir, 4 byte alan kaplar (0’dan 4.294.967.295’e kadar)

Örnek


#include <avr/pgmspace.h>

// flash’a metin kaydetme
prog_uchar mesajimiz[] PROGMEM = {“MERHABA ARDUINO. NABER?”};

int k;
char myChar;

// flash’tan metni okuma
myChar = pgm_read_byte_near(signMessage + k);

Kaynak: http://www.arduino.cc/en/Reference/PROGMEM

Devamını oku

Project Aslan, Arduino DUE Kullanan Bir Robot İşaret Dili Çevirmeni

Project Aslan, Arduino DUE Kullanan Bir Robot İşaret Dili Çevirmeni

Genellikle robotikleri endüstriyel veya araştırma alanlarına uygulandığı zaman görüyoruz, ancak günlük yaşamda da yardımcı olabilecekleri çok yol var: Örneğin, görme engelli insanlar için kişisel rehber görevi gören mutfak botu, engellilerin yemek yapmasına yardımcı olabilir. Veya – ve bu gerçek – işaret dili çevirmeni işlevi gören robot kolu. Sınıflarda, mahkemelerde ve evde, bu

Arduino Turkiye tarafından
Arduino DUE ile Yaşayabileceğiniz Sorunların Çözümleri

Arduino DUE ile Yaşayabileceğiniz Sorunların Çözümleri

Elinizden hatırı sayılır miktarda Arduino DUE geçtiyse (veya sadece şanssız gününüzdeyseniz), düzgün çalışmayan en az bir tane cihazla karşılaşma olasılığınız yüksek. Bunun için her zaman cihazı çöpe atmanız gerekmeyebilir. Birçok Arduino DUE sorununu çözmek için çeşitli yöntemler var. Diyelim ki Arduino DUE ile çalışmaya başlayacaksınız. Bunun için Arduino’yu açtınız

Arduino Turkiye tarafından
STM32 Mikro Denetleyiciler Arduino

STM32 Mikro Denetleyiciler Arduino Dünyasında Ne Anlama Geliyor?

Arduino ile tanışanlar genellikle uzun bir yolun başlangıcında oluyor. Çünkü Arduino dünyası vazgeçmesi zor maceralarla dolu. Arduino’yu tanıdıkça bu heyecanınız da artacak. Bu nedenle Arduino dünyasıyla sizi buluşturmak için biz de heyecan duyuyoruz. Çok ucuza elde edebileceğiniz Arduino kiti ve ihtiyaç duyacağınız diğer malzemeler uzun soluklu projeler için yeterli

Arduino Turkiye tarafından