- Gerekli malzemeler
- Devre şeması
- Maple Boot yükleyiciyi STM32 Geliştirme panosuna yükleme
- Arduino IDE'nin Hazırlanması ve Sürücülerin Kurulması
- STM32'yi (Mavi Hap) Doğrudan USB Bağlantı Noktası Üzerinden Programlama
STM32 Kalkınma Kurulu konut STM32F103C8 Mikrodenetleyici onun ARM Cortex M3 mimariye giderek daha popüler sayesinde elde ettiğini, yüksek operasyonel hız ve daha periferik seçenekleri vardır. Ayrıca, bu kart Arduino IDE kullanılarak kolayca programlanabildiğinden, hızlı prototipleme için birçok hobici ve mühendis için tercih edilen bir seçim haline gelmiştir.
Önceki eğitimimizde STM32 Geliştirme Panosunun temellerini öğrendik ve ayrıca bir LED'i yakacak şekilde programladık. Ancak bunun büyük bir dezavantajı vardı. Kartı programlamak için bir FTDI programcı modülü kullandık ve ayrıca bir kodu yüklerken ve test ederken önyükleme 0 jumper'ını ve 1 konumu arasında değiştirmek zorunda kaldık ki bu kesinlikle göz korkutucu bir iştir. Ayrıca Geliştirme panosundaki mini-USB bağlantı noktası tamamen kullanılmadan bırakıldı. Bunu yapmanın nedeni, STM32 geliştirme kartı satın alındığında, Arduino için hazır bir önyükleyici ile birlikte gelmez ve bu nedenle kart, USB ile bağlandığında bilgisayarınız tarafından keşfedilmez.
Umarım, LeafLabs tarafından Maple mini tahtalar için geliştirilmiş deneysel bir önyükleme yükleyicisi vardır. Bu önyükleyici, STM32'ye bir kez takılabilir ve daha sonra, diğer Arduino kartları gibi programları yüklemek için doğrudan STM32 kartının USB bağlantı noktasını kullanabiliriz. Ancak bu önyükleyici, bu öğreticinin belgelendiği sırada hala geliştirme aşamasındadır ve kritik uygulamalar için tavsiye edilmez. Bu eğiticiye devam etmeden önce, teknik özellikler ve pin çıkışları hakkında ayrıntılar dahil olmak üzere bu panonun temellerini anlamak için önceki öğreticiyi okuduğunuzdan emin olun.
Gerekli malzemeler
- STM32 - (BluePill) Geliştirme Kartı (STM32F103C8)
- FTDI Programcısı
- Breadboard
- Bağlantı telleri
- İnternetli Dizüstü Bilgisayar
Devre şeması
STM32 Blue Pill kartını doğrudan USB portu üzerinden programlamak için, önce Maple önyükleyiciyi MCU'ya yüklememiz gerekir. Bunu yapmak için bir Seri FTDI kartı kullanmamız gerekir. Bu kart, aşağıda gösterildiği gibi STM32'nin Rx ve Tx pinlerine bağlanır.
FTDI kartının Vcc pini, kartın gücünün STM32 5V pinine bağlanır. Toprak, STM32'nin Zeminine bağlanır. FTDI kartının Rx ve Tx pini sırasıyla STM32'nin A9 ve A10 pinlerine bağlanır. A9, STM32 MCU'nun Tx pini ve A10, Rx pinidir.
Önyükleme yükleyiciyi yüklerken kart üzerindeki önyükleme 0 atlama piminin 1'e (programlama modu) ayarlandığından emin olun. Önyükleyici yanıp söndüğünde, bu pin başlangıç konumuna (çalışma modu) geri döndürülebilir.
Maple Boot yükleyiciyi STM32 Geliştirme panosuna yükleme
Yukarıdaki bağlantıyı yaptıktan sonra FTDI kartını bilgisayarınıza bağlayın ve önyükleyiciyi STM32'ye yüklemek için adımları izleyin.
Adım 1: Github sayfasından önyükleyici program dosyası ikili dosyalarını (bin dosyası) indirmemiz gerekiyor. Blue Pill panosu için bu github bağlantısını kullanın ve bin dosyasını indirmek için indirme düğmesine tıklayın.
Adım 2: Daha sonra, indirilen bin dosyasını STM32'ye yüklemek için STM Flash yükleyici yazılımını indirip kurmamız gerekiyor. ST web sitesine girmek için bu bağlantıya tıklayın ve aşağıya kaydırın ve yazılımı al seçeneğine tıklayın.
Adım 3: Yazılımı indirmek için E-posta adresinizi girmelisiniz ve indirme bağlantısı E-postanıza gönderilecektir. Ardından web sitesine geri giden bağlantıyı takip edin ve yazılımı al'a tıklayın ve indirme başlayacaktır. Evet biraz sinir bozucu ama böyle yapılması gerekiyor. E-posta için istenmeyen posta klasörünüzü kontrol etmeyi unutmayın, bazen E-postanın gelmesi birkaç dakika sürer.
Adım 4: Yazılımı indirdikten sonra, STM32 kartınızın FTDI kartı ile bilgisayarınıza bağlı olduğundan emin olun ve ardından yazılımı başlatın. Aygıt yöneticisi kullanılmıyorsa yazılım COM bağlantı noktasını otomatik olarak algılayacak ve doğru COM bağlantı noktası numarasını seçtiğinizden emin olacaktır. Benim durumumda COM4. Ayarın geri kalanını aşağıda gösterildiği gibi bırakın.
Adım 5: İleri düğmesine iki kez tıklayın ve yazılım tekrar otomatik olarak kart ayrıntılarını algılayacak ve aşağıda gösterildiği gibi görüntülenecektir. Kullandığımız kart 128K flash belleğe sahip STM32F1'dir.
Adım 6: Bir sonraki adımda, Cihaza indir'i seçin ve 1. adımda bin dosyamızı indirdiğimiz konuma göz atın ve onu seçin. İleri'ye tıklayın.
Adım 7: Yazılım, aşağıda gösterildiği gibi bazı gerekli dosyaları indirecek ve ardından yanıp sönme işlemini başlatacaktır.
Adım 8: Yanıp sönme başarılı bir şekilde tamamlandığında, aşağıdaki ekranı alacağız. Kapat'a tıklayın ve uygulamadan çıkın. Arduino önyükleyici ile STM32 kartını başarılı bir şekilde parlattık. Şimdi STM32 kartını programlamadan önce Arduino IDE'yi hazırlamalı ve sürücüleri yüklemeliyiz.
Arduino IDE'nin Hazırlanması ve Sürücülerin Kurulması
STM 32 Geliştirme kartı ile kullanılmak üzere Arduino IDE'yi indirmek ve hazırlamak için aşağıdaki adımları izleyin.
Adım 1: - Arduino IDE'yi henüz kurmadıysanız, bu bağlantıdan indirip kurun. Doğru işletim sisteminizi seçtiğinizden emin olun.
Adım 2: - Arduino IDE'yi kurduktan sonra açın ve STM32 kartı için gerekli paketleri indirin. Bu, Dosya -> Tercihler seçilerek yapılabilir.
Adım 3: - Tercihler'e tıklamak aşağıda gösterilen iletişim kutusunu açacaktır. Ek Pano Yöneticisi URL metin kutusuna aşağıdaki bağlantıyı yapıştırın
dan.drown.org/stm32duino/package_STM32duino_index.json
ve Tamam'a basın.
Adım 4: - Şimdi Araç -> Panolar -> Kart Yöneticisi'ne gidin . Bu, Kartlar yöneticisi iletişim kutusunu açacak, "STM32F1" araması yapacak ve görünen paketi kuracaktır.
Adım 5: Paket yüklendikten sonra, install_drivers.bat ve install_STM_COM_drivers.bat'ı bulacağınız C: \ Program Files (x86) Arduino \ hardware \ Arduino_STM32-master \ drivers \ win konumuna gidin.
Adım 6: Her iki yarasa dosyasına tıklayın ve sürücüleri yükleyin. Aşağıda gösterildiği gibi bir DOS ekranı göreceksiniz.
Artık Arduino IDE, STM32 (Mavi Hap) Geliştirme Kartını programlamak için hazırlanmıştır ve sürücüler de yüklenmiştir.
STM32'yi (Mavi Hap) Doğrudan USB Bağlantı Noktası Üzerinden Programlama
FTDI kartını ve mevcut tüm bağlantıları STM32'den çıkarın. Aşağıda gösterildiği gibi bilgisayara bağlamak için STM32 kartındaki mikro USB bağlantı noktasını kullanın. Bağlantı teli 0 piminin 0'a (Çalışma modu) geri konumlandırıldığından emin olun. Bundan sonra, programları yüklemek ve çalıştırmak için artık jumper'ı değiştirmemize gerek yok.
Bilgisayarınız artık Panoyu keşfedebilmelidir. Herhangi bir ek sürücünün yüklendiğini görürseniz bir süre bekleyin. Ardından, Aygıt yöneticisine girin ve STM32 kartınızın aşağıda gösterildiği gibi COM ve bağlantı noktası bölümünde bulunup bulunmadığını kontrol edin. Mine, Maple Mini adıyla COM8'e bağlı.
Aşağıda gösterildiği gibi Genel STM32F103C serisini bulmak için Araçlar'a gidin ve aşağı kaydırın. Ardından, varyantın 64k Flash tipi , CPU hızının 72MHz olduğundan emin olun ve yükleme yöntemini STM32duino Bootloader olarak değiştirin . Ayrıca, aygıt yöneticinizdekine göre doğru COM bağlantı noktasını seçin.
Tüm değişiklikler yapıldıktan sonra, Arduino IDE'nin sağ alt köşesini kontrol edin ve aşağıdaki ayarın yapıldığını fark etmelisiniz. STM32 kartım COM8'e bağlı ancak sizinki farklı olabilir
Artık Arduino IDE, STM 32 Mavi Hap Geliştirme Kartlarını programlamaya hazır. Her şeyin düzgün çalıştığından emin olmak için Örnek Blink Programını Arduino IDE'den STM32 Mavi Hap panosuna yükleyelim. Örnek program şu adreste bulunabilir:
Açılan örnek programda küçük bir değişiklik yapmamız gerekiyor. Varsayılan olarak program PB1 için yazılacaktır, ancak bizim kartımızda yerleşik LED PC13'e bağlıdır, bu nedenle tüm PB1'i PC13 ile değiştirin ve devam etmekte fayda var. Tam bir örnek program değiştirilir da bu sayfanın alt kısmında bulunabilir.
Tek başına döngü işlevinin içindeki kod aşağıda gösterilmektedir, burada PC13 pininin 1000 milisaniye için YÜKSEK (açık) tutulduğunu ve ardından başka bir 1000 milisaniye için DÜŞÜK (kapalı) olduğunu fark edebiliriz ve bu, olduğu için sonsuz kez yapılır. döngü işlevi. Böylece LED 1000 milisaniye aralıklarla yanıp sönüyor gibi görünür.
digitalWrite (PC13, YÜKSEK); // LED'i açın (YÜKSEK voltaj seviyesidir) gecikme (1000); // ikinci bir digitalWrite (PC13, LOW) bekleyin ; // voltaj düşük gecikmesini (1000) yaparak LED'i kapatın ; // bir saniye bekle
Arduino IDE üzerindeki yükleme düğmesine basın ve programınız derlenmeli ve yüklenmelidir. Her şey beklendiği gibi çalıştıysa, Arduino IDE konsolunuzda aşağıdakileri görmelisiniz.
Program başarıyla yüklendiyse, aşağıdaki videoda gösterildiği gibi Yeşil LED'in 1 saniyelik aralıklarla yanıp söndüğünü görmelisiniz. Ayrıca gecikmeyi artırmak veya azaltmak için programla oynayabilirsiniz. Artık diğer Arduino kartları gibi STM32 (Mavi Hap) Geliştirme kartını kullanmaya başlayabilirsiniz, yani artık atlama tellerinin konumunu değiştirmenize veya programları yüklemek ve test etmek için harici donanım kullanmanıza gerek kalmaz.
Umarım öğreticiyi anladınız ve STM32 Board ile başlamak için yararlı buldunuz. Herhangi bir sorununuz varsa yorum bölümüne bırakın, ayrıca bu STM32 kartı ile gelecekte hangi projeleri denememiz gerektiğini de söyleyin.