Arduino IDE ile STM32 Programlama

STM32F103C8T6 (STM32 Blue Pill), 72MHz frekansında çalışan 32-bit ARM Cortex M3 işlemciye dayalı, zengin özelliklere sahip bir geliştirme kartıdır. Arduino kartların aksine, STM32 programlamak biraz kafa karıştırıcı olabilir. Kartı programlamanın birden fazla yolu vardır.

Bootloader yükleme

Normalde kart üzerinde bulunan USB konnektörü; programlama için değil, güç bağlantısı ve seri port içindir. Bu konnektörü programlamaya uygun hale getirmek için bootloader yüklemeniz gerekir. Arduino kartlardaki gibi pratik bir yöntem olsa da kararlı çalışmaması, güncel olmaması ve bellekte 20Kb yer işgal etmesi dezavantajdır. (Çok fazla problem çıkardığından yöntemin detaylarına yer verilmedi.)

ST-Link programlayıcı ile yükleme

Programlama ve hata ayıklama için ST-Link ile STM32 arasında sadece 3 pin kullanılır. STM32 harici bir güç kaynağından beslenmiyorsa programlayıcının 3.3V pini de karta bağlanmalıdır.

STM32 ST-Link programlama

ST-Link v2 USB sürücüsünü indirmek için buraya tıklayın.

USB TTL dönüştürücü ile yükleme

Programlayıcı için 5V herhangi bir USB TTL dönüştürücü (CH340,FT232 vb..) kullanılabilir. STM32 ile programlayıcı arasındaki bağlantı aşağıdaki gibi olmalıdır.

Programlama için dönüştürücü ile STM32 arasında sadece 3 pin (GND, RX, TX) yeterlidir. Eğer STM32 harici bir güç kaynağından beslenmiyorsa 5V pini de karta bağlanmalıdır.

Programlama modu için BOOT0 jumper; 0 konumundan 1 konumuna alınmalı, çalışma modu için ise eski konumuna getirilmelidir.

STM32 Arduino kütüphanesi yükleme

Aşağıdaki bağlantıyı kopyalarak Arduino IDE > Dosya > Tercihler > Ek Kart Yöneticisi URL’leri bölümüne yapıştırın. (Bu kısımda her satırda sadece bir bağlantı olmalıdır.)

https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json

Araçlar > Kart (….) > Kart Yöneticisi menüsünü takip edin. Arama kutusuna “STM32” yazın. “STM32 MCU Based boards” yükleyin.

STM32F103C8T6 (STM32 Blue Pill) kartını seçmek için şu menüyü takip edin. Araçlar > Kart (….) > STM32 MCU Based boards > Generic F103C8Tx seçin. Kart için varsayılan ayarlamalar şu şekildedir.

Upload method; ST-Link ile yükleme yapacaksanız “STM32CubeProgrammer(SWD)”, eğer USB TTL dönüştürücü ile yükleme yapacaksanız “STM32CubeProgrammer(Serial)” seçin.

Kart üzerindeki PC13 çıkışına bağlı dahili ledi 1 saniye aralıklarla yakıp söndüren örnek kodu aşağıda bulabilirsiniz.

void setup() {
  // initialize digital pin LED_BUILTIN 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
}

Hepsi bu kadar..

Erdoğan Demirtaş
Erdoğan Demirtaş
Cumhuriyet Üniversitesi, Sivas Meslek Yüksekokulu, Endüstriyel Elektronik bölümü mezunudur. Endüstriyel kart/cihaz bakım onarım teknikeri olarak çalışmaktadır. Elektronik dışında az biraz wordpress, çat pat İngilizce bilmektedir.
ilgili yazılar

Yorum Bırak

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz

son eklenenler