Arduino Derleyiciniz Ne kadar Hızlı?

Arduino Uno boardu üzerinde üç farklı derleyici (Compiler) kullanarak bir pini (13) ON/OFF yaptım. Elde ettiğim süreler derleyici hızı hakkında fikir sahibi olmamızı sağlayacaktır.

Arduino IDE ortamında AVR kodları kullanarak yaptığım kodlamada en hızlı sonucu elde ettim. Tabloda us cinsinden High ve Low süreleri verilmiştir. Oran olarak baz alınan  Arduino IDE üzerinde AVR Kodlarıyla elde edilen hızdır.

Tablodan görüleceği üzere Arduino IDE üzerinde AVR kodlarıyla yazılan program, normal Arduino fonksiyonlarıyla yazılan kodlara göre 77 kat daha hızlı olduğu görülüyor.

Arduino ile kod yazarken hızın önemli olduğu yerlerde AVR kodları kullanılarak hız elde edilebilir.

Test ortamı olarak dijital Analizör ve Logic 1.2.18 programını Donanım olarak olarak Arduino Uno kullanıldı. Program yüklemek için USBasp ve eXtreme Burner – AVR programı kullanıldı.

Adruino IDE AVR Code

void setup() {
  DDRB = 0xFF;
  PORTB = 0;
}
void loop() {
  PORTB=(1<<5);
  PORTB=(0<<5);
}

CodeVisionAVR V3.39

#include <mega328p.h>
void main(void)
{
  DDRB = 0xFF;
  PORTB = 0;
while (1)
{
  PORTB=(1<<5);
  PORTB=(0<<5);
}
}

MikroC AVR

void main(void)
{
  DDRB = 0xFF;
  PORTB = 0;
while (1)
{
  PORTB.B5=1;
  PORTB.B5=0;
}
}

Arduino IDE digitalWrite()

 
void setup() {
 DDRB = 0xFF; 
 PORTB = 0; 
} 
void loop() { 
 digitalWrite(13,HIGH);
 digitalWrite(13,LOW); 
} 

Sonuç olarak hız gereken yerlerde register kullanarak işlem yaptırılabilmektedir.

 

 

 

 

Yorum bırakın