Penjelasan Serial.print(F()) Pada Arduino

Posted on

Apa itu Serial.print(F()) ?

Pada artikel ini saya akan membagikan pengalaman saya tentang fungsi “F()” dan penjelasan Serial.print(F(“Halo semua”)) pada Arduino.

Penjelasan Serial.print(F("Halo semua")) Arduino

Fungsi F()

Fungsi F() sering dikenal dengan PROGMEM.

Secara default, baris perintah Serial.print() akan membuat C++ memproses data tersebut ke dalam SRAM sebelum setup(). 

PROGMEM adalah atribut khusus AVR yang memberi tahu kompiler untuk tidak melakukan itu. Sehingga, data akan diproses di memori flash.

Jika disimpulkan adalah sebagai berikut:

  • Serial.print(“Halo semua”) akan memuat data ke RAM
  • Serial.print(F(“Halo semua”)) akan memuat data ke Memori Flash.

Tabel Perbandingan

Untuk membayangkan hal tersebut, saya membuat tabel perbandingan kde sebagai berikut:

KondisiTanpa F()Dengan F()
Kode Programvoid setup() {
Serial.begin(9600);
}

void loop() {
Serial.print(“Halo semua”);
}
void setup() {
Serial.begin(9600);
}

void loop() {
Serial.print(F(“Halo semua”));
}
Memori TerpakaiFlash : 1466 byte
RAM : 196 byte
Flash : 1478 byte
RAM : 184 bytes

Satu sisi ini akan menghemat RAM, namun akan menampah penggunaan memori Flash.

Semoga artikel Penjelasan Serial.print(F(“Halo semua”)) pada Arduino bermanfaat.

Artikel bermanfaat lainnya: