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 olacak. Sadede gelelim; bu yazıda STM32 mikro denetleyicilerden bahsedeceÄŸiz.

Atmel AVR serisi 8 bittir ve saati bugünün standartlarına göre gülünç derecede yavaştır. Elbette, bazı düşük seviyeli programlar yapmaya istekli iseniz etkileyici bir hızla bazı şeyler yapabilirsiniz. Ancak bunu kendim bir hobi olarak yapıyorsanız ve kurulum düzeyindeki kodlarla uğraşmak istemeyebilirsiniz. Bu aşamada daha hızlı bir denetleyiciye ihtiyaç duyarsınız. Evet, STM32 mikro denetleyicilerden bahsediyoruz.

STM32 Mikro Denetleyiciler Arduino

ST STM32F103C ailesiyle tanışın

Öncelikle şu özelliklerden bahsetmekte fayda var:

  • Çok hızlı. 72 MHz hızında çalışan 32bit ARM mimarisine sahip.
  • G / Ç bölümünde çok iyi donanımlı. 2 x UART, 2 x SPI bus, 2 x I2C baÄŸlantı noktası vb.
  • BildiÄŸimiz Arduino IDE kullanarak programlama kolaylığı
  • Sudan ucuz. Çok düşük ücretlere Arduino Nano boyutlu bir pano alabilirsiniz.

Bu mikro denetleyicileri kullanmaya baÅŸlamak oldukça kolay. Ayrıca, 3.3V voltaj seviyeleri ile çalışan bir USB to Serial adaptörüne ihtiyacınız olacaktır. DiÄŸer varyasyonlar olsa da kırmızı ve mavi PCB’ler en yaygın olanıdır. Nispeten ufak farklılıkları var.

Bu, ikisinden biri için pin aralığı:

BaÅŸlarken USB’yi seri port adaptörüne STM32’nin RX1, TX1 ve GND pinlerine baÄŸlamalısınız. USB adaptöründen gelen RX TX1’e (PA9 pin) gider ve TX RX1’e (PA10 pin) geçer.

Arduino IDE’yi bu panolarla uyumlu hale getirmek için gerekli dosyaları buradan indirmeniz gerekiyor: https://github.com/rogerclarkmelbourne/Arduino_STM32

Ardından, kitaplığı buraya açın: C:\users\\Documents\Arduino\hardware\ veya C:\Program Files (x86)\Arduino\hardware\

HerÅŸey yolunda gidiyorsa, IDE’nizde yeni panolar görmelisiniz:

“General STM32F103C series”, 128k deÄŸiÅŸken, 72MHz hız ve Seri yükleme yöntemi seçmelisiniz:

Artık ilk kodunuzu yüklemeye hazırsınız. Blink test için ideal olacak:

// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin PC13 as an output.
pinMode(PC13, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
digitalWrite(PC13, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(PC13, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}

STM32 uC’lerde, gerekli olan tek deÄŸiÅŸiklik, LED’in pin numarasını Mavi (veya Kırmızı) (PC13) ile uyumlu hale getirmektir.

Bu aile için pin numaraları, Arduino panolarında olduÄŸu gibi sadece sayı deÄŸil (1,2,3 …, A1, A2, … gibi) deÄŸil şöyledir: PC13, PC14, vb.

Kod yükleme prosedürü Arduino’dan biraz farklı. STM32’lerde 2 yerleÅŸik ön yükleyici bulunur. Bunlardan biri sistem belleÄŸinden ve diÄŸeri de program belleÄŸinden boot edilir. Bu farklı ön yükleyicileri, BOOT0 atlama telinin konumunu deÄŸiÅŸtirerek seçebilirsiniz. Sistem belleÄŸinden önyüklemek için 1’e, program belleÄŸinden önyüklemek için 0’a ayarlayın.

Kodumuzu yüklemek için aşağıdakileri yaparız:

  1. ‘BOOT0’ deÄŸerini 1 olarak ayarlayın. Bu ÅŸekilde, bir UART içeren flaÅŸ yükleyiciyi içeren sistem belleÄŸinden önyükleme yapın.
  2. RESET düğmesine basın.
  3. Arduino IDE’sinde, ‘Yükle’yi (Upload) seçin. Tahtada, mavi LED yanıp sönmeye baÅŸlayacaktır.
    Yükleme tamamlandıktan sonra, eskizimiz baÅŸlayacak. Yanıp sönen LED’i görmemiz gerekiyor.

Hepsi bu kadar!

2 comments

  1. Faruk ÃœNAL dedi ki:

    Faydalı bir yazı olmuş. STM yazılarının devamını bekleriz.

  2. Fatih BayÅŸu dedi ki:

    Harika bir yazı çok teşekkürler. Selamlar.
    Fatih BayÅŸu

E-posta adresiniz gösterilmeyecek. Gerekli alanlar * ile işaretlidir.

*



Sosyal AÄŸlar