- Arduino IDE'yi kurma
- Arduino IDE Programlama için STM8S103F3 kartını kurma
- Arduino kullanarak STM8S103F3 üzerinde LED Yanıp Sönüyor
- STM8S103F3 için Arduino Pin Haritalama
- Arduino IDE'de SPL Kitaplıklarını Derleme
Arduino, destekleyici kullanıcı topluluğu sayesinde şüphesiz kullanıcı dostu ve hızlı bir prototip oluşturma aracı haline geldi. Bugün, açık kaynak yapısı nedeniyle platform sadece Arduino kartlarıyla sınırlı değil, aynı zamanda NodeMCU, ESP8266, STM32, MSP430 gibi diğer geliştirme kartları da Arduino IDE'den programlanabiliyor. Nasıl yapılacağını öğrenmekle ilgileniyorsanız aşağıdaki bağlantıları takip edebilirsiniz.
- Arduino IDE ile NodeMCU Programlama
- ESP8266'yı Arduino IDE ile programlama
- STM32'nin Arduino IDE ile Programlanması
- Energeia ile MSP430'u programlama (Arduino'ya benzer)
Şüphesiz, Arduino IDE yeni başlayanlar için harikadır, ancak yine de profesyonel gelişim için yerel geliştirme ortamları ve derleyicilerle çalışmak iyidir. PIC Mikrodenetleyiciler için MPLABX ve TI Mikrodenetleyiciler için Kod Oluşturucu stüdyosu gibi. Yerel platformu kullanmak, kayıt seviyesinde (gerekirse montaj seviyesinde bile) çalışmamızı sağlayarak programın bellek açısından daha verimli olmasını sağlar. STM8S Mikrodenetleyici eğitimine başladığımızda bu yüzdenserisi, platform seçimi, her ikisi de indirmek ve kullanmak için ücretsiz olan STVD ve Cosmic C derleyicisiydi. Ne yazık ki STVD çok eski bir IDE ve onunla çalışırken 90'lar gibi geliyor. Bunun da ötesinde, STVP programcı aracı da IDE ile iyi entegre değil ve onu ayrı olarak kullanmanız gerekiyor. Bu, derleme ve karşıya yükleme süresini uzatır ve geliştirme ve hata ayıklamayı zorlaştırır.
Alternatifler aramaya başladım ve işte o zaman Arduino IDE kurtarmaya geldi. Michael Mayor tarafından Sduino adlı bir araç, STM8s Mikrodenetleyicilerini (popüler olanların çoğu) doğrudan Arduino IDE'den kolayca programlamamıza olanak tanır ve bunu kurmak ve başlamak sadece birkaç dakika sürer. Daha da ilginci, Arduino tarzı programlamayı desteklemenin yanı sıra, Sduino aynı zamanda Standart Çevre Birimi Kütüphanesini (SPL) kullanmamıza izin veriyor, başka bir deyişle, aynı programı STVD'de neredeyse Arduino IDE'ye derleyebiliyoruz. Sduino harika bir araç olmasına rağmen, hala geliştirme aşamasındadır ve henüz Arduino kitaplıklarının ve işlevlerinin çoğunu desteklememektedir. Bununla birlikte, Arduino IDE'nin STM8S103F Geliştirme Kartı ile nasıl kullanılacağını öğrenelim.Bu panoda tamamen yeniyseniz, STM8S103F eğitimine başlama konusunu kontrol edin. STM8S103F dışında, Sduino ayrıca STM8S003, STM8S105C, STM8S105K, STM8S, STM8S208MB, ESP14, vb. Gibi diğer STM8S mikro denetleyicilerini de destekler. Bu eğitimde açıklanan prosedür herkes için aynıdır.
Arduino IDE'yi kurma
Adım 1: Arduino Ortamında tamamen yeniyseniz, işletim sisteminize göre Arduino'yu indirin ve kurun.
Adım 2: Tercihler penceresini açmak için Dosya -> Tercihler'i takip edin ve aşağıda verilen bağlantıyı ek panolar URL'yi yönet metin kutusuna yapıştırın ve Tamam'a tıklayın.
github.com/tenbaht/sduino/raw/master/package_sduino_stm8_index.json
Adım 3: Pano yöneticisi iletişim kutusunu açmak ve "sduino" yu aramak için Araçlar -> Pano -> Kart yöneticisini takip edin. Kurulum tamamlandıktan sonra kur'a tıklayın ve iletişim kutusunu kapatın.
Adım 4: IDE'yi yeniden başlatın ve ardından Araçlar -> Kart -> STM8S103F3'ü izleyin . Farklı bir geliştirme panonuz varsa diğer panoları seçebilirsiniz.
Artık Arduino IDE, STM8S103F3 Geliştirme Kartını programlamaya hazır. Kartı kuralım, bilgisayara bağlayalım ve basit bir LED yanıp sönmesi için programlayalım.
Arduino IDE Programlama için STM8S103F3 kartını kurma
ST-Link V2'yi geliştirme kartına aşağıda gösterildiği gibi bağlayın.
Bağlantılar oldukça basittir ve en iyi yanı, harici bileşenlere ihtiyacınız olmamasıdır. Programlama için donanım kurulumum aşağıda gösterilmektedir, bağlantımı yapmak için sadece dişi başlık kablolarını kullandım. Ancak, ST-Link'inizin pinout'unun benimkinden farklı olabileceğini unutmayın, bağlantıları yapmadan önce cihazdaki pinout'u takip ettiğinizden emin olun.
Bağlantıyı yapın ve cihazı bilgisayarınıza bağlayın, sürücü kurulumu otomatik olarak başlamalıdır. Bilgisayarınızın ST-LINK V2'yi doğru bulup bulmadığından emin olmak için aygıt yöneticisini kullanabilirsiniz. Karta ilk kez güç veriyorsa, kart üzerindeki test LED'inin yanıp söndüğünü de fark edeceksiniz.
Arduino kullanarak STM8S103F3 üzerinde LED Yanıp Sönüyor
Şimdi basit bir LED yanıp sönmesi için, örnek bölümündeki yanıp sönme programını kullanabiliriz. Dosyayı İzle -> Örnek -> Genel_Örnek -> Temel Bilgiler -> Göz Kırp .
Dahili ledin yanıp sönmesi için eksiksiz program aşağıda gösterilmiştir.
void setup () {// dijital pin LED_BUILTIN'i çıkış olarak başlat. pinMode (LED_BUILTIN, OUTPUT); } // döngü işlevi sonsuza kadar tekrar tekrar çalışır void loop () {digitalWrite (LED_BUILTIN, HIGH); // LED'i açın (YÜKSEK voltaj seviyesidir) gecikme (1000); // ikinci bir digitalWrite bekleyin (LED_BUILTIN, LOW); // voltaj DÜŞÜK gecikmesini (1000) yaparak LED'i kapatın; // bir saniye bekle }
Gördüğünüz gibi bu, Arduino'nun yanıp sönme programına çok benziyor. Programı yüklemek için, kartınızın yukarıda anlatıldığı gibi st-link v2 ile bağlandığından emin olun ve aşağıda gösterildiği gibi programlayıcıyı "ST-Link / V2" olarak seçin.
Not: Arduino kartlarının aksine, panoyu programlamak için doğru COM portunu seçmeniz gerekmez. COM bağlantı noktasını yalnızca seri iletişim için kullanacaksınız.
COM bağlantı noktası seçildikten sonra, kodun yüklenmesi de çok basittir. Sadece yükle düğmesine basın (aşağıda kırmızı daire içine alınmıştır) ve kod otomatik olarak derlenecek ve panomuza yüklenecektir.
Yani, program doğrudan panele yüklenir ve yerleşik LED'in yanıp söndüğünü görmelisiniz. Harici yükleme yazılımı yok, hiçbir şey yok. Bu kadar kolay. Çalışmak için bu sayfanın altındaki videoya göz atabilirsiniz.
STM8S103F3 için Arduino Pin Haritalama
Buradan devam etmek istiyorsanız, STM8S103F3 Geliştirme panosundaki her bir pini nasıl adresleyeceğinizi bilmeniz gerekir. Pim eşlemesi aşağıdaki bu görüntüden anlaşılabilir.
Örneğin, STM8S103F3 Board devre şemasından, yerleşik LED'in PB5'e bağlı olduğunu biliyoruz. Bu pini Arduino'da adreslemek için 3 kullanmalıyız, dolayısıyla program şu şekilde yazılabilir:
void setup () {// dijital pin LED_BUILTIN'i çıkış olarak başlat. pinMode (3, ÇIKIŞ); } // döngü işlevi sonsuza kadar tekrar tekrar çalışır void loop () {digitalWrite (3, LOW); // LED'i açın (YÜKSEK voltaj seviyesidir) gecikme (1000); // ikinci bir digitalWrite (3, HIGH) bekleyin; // voltaj DÜŞÜK gecikmesini (1000) yaparak LED'i kapatın; // bir saniye bekle }
Arduino IDE'de SPL Kitaplıklarını Derleme
Daha önce de belirtildiği gibi, SPL kütüphanesini Arduino IDE üzerinde de kullanabiliriz. Hatırlarsanız, önceki STM8S GPIO eğitimimizde, yerleşik LED'i ve ayrıca basma düğmesini kullanarak harici bir LED'i yakıp söndürmek için bir kod yazdık. Çok az değişiklikle aynı kod Arduino üzerinde de derlenebilir. Değiştirilen kod aşağıda gösterilmiştir.
#define Green_LED GPIOA, GPIO_PIN_3 void kurulumu () {GPIO_DeInit (GPIOA); // GPIO_DeInit (GPIOB) çalışması için Port A'yı hazırlayın; // B Bağlantı Noktasını çalışmak için hazırlayın // PA2'yi giriş pini GPIO_Init (GPIOA, GPIO_PIN_2, GPIO_MODE_IN_PU_IT) olarak bildirin; // PA3'ü İtmeli Çekme Çıkışı pini olarak bildirin GPIO_Init (Green_LED, GPIO_MODE_OUT_PP_LOW_SLOW); // PB5'i itme çekme Çıkış pini olarak bildirin GPIO_Init (GPIOB, GPIO_PIN_5, GPIO_MODE_OUT_PP_LOW_SLOW); } void loop () {if (GPIO_ReadInputPin (GPIOA, GPIO_PIN_2)) // düğmeye basıldığında GPIO_WriteLow (Green_LED); // LED AÇIK değilse GPIO_WriteHigh (Green_LED); // LED KAPALI GPIO_WriteReverse (GPIOB, GPIO_PIN_5); gecikme (100); }
STM8S ile geliştirmeye başlamak istiyorsanız, Arduino IDE'yi Sduino ile birlikte tamamlamak çok iyi bir seçenektir. Bununla birlikte, platform hala geliştirme aşamasındadır ve birçok Arduino kitaplığı henüz desteklenmemektedir. Yine de, derine inmek ve gelişime katkıda bulunmak istiyorsanız, harika olur. Ancak, öğrenme uğruna, STVD ve kozmik C derleyicisi ile eğitim serisine devam edeceğim.