Arduino IDE etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Arduino IDE etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

Arduino IDE Kod Satır Numaraları Nasıl Açılır

 Arduino IDE editöründe yazdığınız kodların satır numaralarını görüntülemek için yapmanız gereken şey

File -> Preferences -> Settings sekmesinde Display line numbers kutucuğunu işaretlemek, ve ardından OK butonuna tıklayarak satır numaralrının gösterilmesini sağlayabilirsiniz.

Arduino IDE kod satır numaraları

Ben türkçe kullanıyorum, nasıl yapacağım? Size nacizane tavsiyem Elektronik ve Programlama alanlarında tüm uygulamalarınızı ingilizce kullanmanız, bu sayede daha fazla içeriğe ulaşabilirsiniz.  Bu yazılı olmayan kurallardan biridir, teknolojinin dili ingilizcedir. Türkçe gideceğin yol şu şekilde; Dosya -> Tercihler -> Ayarlar sekmesinde, Satır numaralarını göster olarak yer bulur kendisine.

Satır Numaraları Nedir Neye Yararlar ?

  • En basit haliyle kodunuz toplamda kaç satır olmuştur o bilgiye sahip olursunuz.
  • Birine kodunuzla alakalı bir tarif yapacağınız zaman satır numarasını söyleyerek kodun neresine bakması gerektiğini kolayca tarif edebilirsiniz.
  • Kodunuzda bir hata aldığınızda bunu size editörünüz satır numarasıyla bildirir, hatanın olduğu satıra gitmek için Edit -> Go to line ya da CTRL + L tuş kombinasyonuyla çıkan pencereye satır kodunuz yazarak hızlıca ulaşabilirsiniz. Bunun için mutlaka satır numaralarının görünür olması gerekmez.




Arduino UNO, Atmel Studio üzerinden programlamak | AVR Programlama - Registers




Arduino üzerinde bazı şeyleri öğrendik, hazır kütüphaneler üzerinde projelerimizi çalıştırdık, ama sanki IDE üzerinde eksik bişey var gibi, mesela bir IntelliSense olaydı ne güzel olmaz mıydı? hani şu değişken adını yazmaya başladığımızda tamamlama önerileri çıkartan, ya da nesne tabanlı programlamada kullandığımız; nesne. yazınca nesnenin tüm özelliklerine ulaşabildiğimiz yardımcı pencere açan.. bunun için Arduino yu bir adım ileriye taşıyan Atmelin kendi kodlayıcısı Atmel Studio (artık yerini MicroChip Studio alıyor) mevcut, Visual Studio kullananların hemen alışacağı (neredeyse aynısı) bir kodlama arayüzü, kod yazmak için biraz datasheet karıştırmak gerekiyor. Ancak kontrolün sizde olduğunu bilmek bir ayrıcalık, Arduino IDE ile yazılmış bir led yakın söndürme kodu :


void setup() {

  // initialize digital pin LED_BUILTIN as an output.

  pinMode(LED_BUILTIN, OUTPUT);

}

// the loop function runs over and over again forever

void loop() {

  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)

  delay(1000);                       // wait for a second

  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW

  delay(1000);                       // wait for a second

}

avrdude: 924 bytes of flash written, 

924 bytes yer kaplarken, aynı işi yapan Atmel Studio ile register seviyesinde yazılmış olan şu kod :


#define F_CPU 16000000UL

#include <avr/io.h>

#include <util/delay.h>


int main(void)

{

DDRB |= (1 << DDB5);

while (1)

{

PORTB |= (1<<PORTB5);

_delay_ms(1000);

PORTB = 0;

_delay_ms(1000);

}

}

avrdude.exe: writing flash (176 bytes):

sadece 176 bytes yer kaplıyor, yaklaşık 5.25 katı, 176 bytes ile yapılabilecek işi 924 bytes ile yapmak, nerden baksak bir mühendisin fiyat/performans tarzına uymuyor. 

Peki konu sadece kodun hafızada kapladığı alan mı acaba? Hıza da bakalım mı ?

void setup() {
pinMode(3,OUTPUT);
}

void loop() {
  digitalWrite(3,HIGH);
  digitalWrite(3,LOW);
}

yukarıda gördüğünüz Arduino ide de yazılmış bir kod sizce hangi frekanslarda 3 pini açıp kapatabiliyordur?


112 Khz mi? Hey dostum tek yapabildiğin bu mu? hadi onu geçtim, 1ms lik aralıklarla yaptığın gecikmeler de neyin nesi ?

Studio 'ya ve register level 'e geçelim :

#include <avr/io.h>

int main(void)

{

DDRD |= (1<<DDD3);

/* Replace with your application code */

while (1)

{

PORTD = 8;

PORTD = 0;

}

}


Evet şimdi konuşmaya başladın : 3.2 Mhz :) 27.8 kat daha hızlı ve alt tarafta görebileceğiniz üzere 1ms lik gecikemeler de artık YOK.

Tamam, kararımızı verdik, kodumuzu yazdık, başka hiçbir ek donanım gereksinimi olmadan kodumuzu nasıl Arduino UNO kartımıza yükleyeceğiz?


Atmel Studio 7 (Version 7.0.1931) için şöyle:
Tools Menusu /  External Tools
açılan pencerede Add
Title kısmı tamamen tercihsel ne isim verirseniz, -boş bırakılamaz!
Command kısmı: C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe
Arguments kısmı: -C "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -v -patmega328p -carduino -PCOM7 -b115200 -D -Uflash:w:"$(ProjectDir)Debug\$(TargetName).hex":i

PCOM7, benim için geçerli Uno Com7 üzerinden çalışıyor, siz kendi portunuzu yazın.
bir kaçtane kartınız var ve hepsinde farklı com görünüyorsa Prompt for arguments işaretleyip, çalıştırıldığında arguments kısmından seri portunuzu elle değiştirebilirsiniz.

Ok deyip ayrılıyoruz pencereden, artık Tools menusu içinde "tercihsel" olarak belirlediğimiz Tool ismi görünüyor olmalı, projemizi Build/Build project menusunden derliyoruz ki "$(ProjectDir)Debug\$(TargetName).hex":i noktasında hex dosyamız oluşsun, sonrasında Tools/Tercihen verdiğimiz araç ismi ne tıklayarak kodumuzu kartımıza yükleyebiliriz.

Biraz zahmetli gibi? yazdığım kodun 5 kat daha fazla yer kaplaması benim için sorun değil diyorsan Arduino IDE devam, hayır önemli diyorsan aramıza hoşgeldin.

-Kolay gelsin.

Türksat Saat Kanalı ve IRIG-B Time Code

Türksat Saat Kanalından Saat Bilgisi Nasıl Alınır? Uyduda kanalları dolaşırken, şu Türksat Saat kanalı hep dikkatimi çekmiştir. Özellikle  S...