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.
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:
Kondisi Tanpa F() Dengan F() Kode Program void setup() {
Serial.begin(9600);
}
void loop() {
Serial.print(“Halo semua”);
}void setup() {
Serial.begin(9600);
}
void loop() {
Serial.print(F(“Halo semua”));
}Memori Terpakai Flash : 1466 byte
RAM : 196 byteFlash : 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:
- Apa itu RTOS Pada Arduino?
- Apa itu Baud Rate Pada Arduino Komunikasi Serial
- Apa Fungsi “Tab” Pada Arduino IDE?
- Perbedaan Pemrograman Prosedural dan OOP Pada Arduino
- Apa itu RTOS Pada Arduino?