STM32 – HAL_UART TAKILMA SORUNU

STM32 Çalışmalarımda 4-5 aydan bu yana register seviyesinde programlamayı bırakıp HAL kütüphanelerini kullanmaya başladım. STM32 CubeIDE platformunu kullanıyorum.

Bu yeni ortama adapte olmak öyle bir kaç günde olmuyor. El attığım her yeni çevre birimi ve metod ile birlikte mutlaka birkaç sorunla karşılaşıyorum, bazılarının çözümü de epey vakit alıyor.

Burada ele aldığım konu aslında temel programlama tekniklerine dikkat edildiğinde kolaylıkla savuşturulabilecek bir sorun, ama insanın bazan basireti bağlanabiliyor böyle.

Continue reading “STM32 – HAL_UART TAKILMA SORUNU”

HALL EFFECT SENSORLER iLE DEVİR ÖLÇÜMÜ

STM32 ile BLDC servo motor kontrolu çalışmalarımın bu aşamasında sıra, rotor konumunun hall effect sensörlerle algılanmasına geldi.

Bu aşamaya kadar motorumu sensörsüz modda 6 adım yöntemi ile çalıştırmıştım. Bu işlemleri anlattığım iki yayın için bu linkleri tıklayabilirsiniz : Bölüm 1 , Bölüm 2

Bu bölümde; motorumuz ilk aşamadaki sürücü ve yöntem ile çalışır durumdayken, bir ikinci mikro denetleyici kullanılarak motorun hall effect sensörlerinden gelen sinyallerin algılanması, hız ve devir sayısı ölçümlerinin yapılışını göreceğiz.

Continue reading “HALL EFFECT SENSORLER iLE DEVİR ÖLÇÜMÜ”

STM32CubeIDE – PROGRAMA KAYNAK KODU EKLEMEK

Yeni bir projeye başladığımızda, daha önceki projelerimizden yararlanmak isteriz. Bu da mevcut projelerden yenisine bazı kaynak kodların aktarılmasını gerektirir.

STM32 CubeIDE platformu yeni projenin ilk adımlarında bize bir proje şablonu oluşturuyor. Bunun ardından bu şablona başka projelerimizden burada da kullanmak istediğimiz kodları aktarmakla işe başlıyoruz.

Bu yayında bu aktarma işleminin kopyala yapıştır yöntemi ile nasıl yapılacağını anlatacağım. Bir başka yöntem de Import fonksiyonunun kullanılması. Onu anlattığım daha kapsamlı yayın için burayı tıklayabilirsiniz.

Continue reading “STM32CubeIDE – PROGRAMA KAYNAK KODU EKLEMEK”

STM32 CubeIDE den INTEL HEX çıktısı almak

STM32 CubeIDE platformu, varsayılan ayarlar ile çalışıldığında, derleme sonrasında sadece bir .elf dosyası oluşturuyor.

Bu dosya, CubeIDE den işlemciye ST Link V2 adaptörü ile yükleme yapmak için yeterli.

Ancak bazan CubeIDE platformundan değil de doğrudan, sadece ST Link V2 ve STLink Application aracını kullanarak kod yüklememiz de gerekiyor, o zaman bir Intel .hex dosyasına ihtiyaç oluyor.

Bu yayında .hex çıktısını da CubeIDE den alabilmek için yapılacak ayarı gösteriyorum.

Continue reading “STM32 CubeIDE den INTEL HEX çıktısı almak”

Başka platformlardan Cube IDE ye program aktarımı

ST firması ürettiği mikroişlemciler ile kullanılmak üzere neredeyse sayısız örnek uygulama hazırlayıp yayınlıyor. Bunlar belirttikleri lisans kurallarına uyulması şartı ile ücretsiz, firmanın WEB sitelerinden kolaylıkla indirilebiliyor. st.com sitesinden bunlara erişilebiliyor.

Akla gelebilecek her konuda uygulama örnekleri var. Ancak bu örneklerin çoğunluğu STM32 CubeIDE değil, başka platformlar için hazırlanmış durumda.

Bunlardan AC6 System Workbench For STM32, kısaltılmış haliyle SW4STM32 platformundan STM32 CubeIDE ye aktarılmasını adım adım anlatmaya karar verdim.

Continue reading “Başka platformlardan Cube IDE ye program aktarımı”

STM32 Cube IDE İÇİNDE GENEL TANIMLAMALAR

DEFINES / UNDEFINES WITHIN STM32 Cube IDE CONFIGURATION SETTINGS

Kod geliştirirken aynı kodun farklı seçeneklere göre derlenmesini isteyebiliyoruz. Örneğin bu kodun SPI arayüzlü bir ekranla ya da Paralel girişli bir ekranla çalışan tipleri olsun isteyebiliriz.
Ya da geliştirme süresince ekranda bir sürü debug mesajı versin ama kullanıma sürüleceği zaman bunları kapatsın (örneğin Debug ve Release tipleri) isteyebiliyoruz.

Bu durumda belirli bir sürümde istenen komut bloklarını etkinleştirirken, bu sürümde gereksiz ve istenmeyen başka blokları kapatabilmek için #define derleyici tanımlarını kullanıyoruz.

Continue reading “STM32 Cube IDE İÇİNDE GENEL TANIMLAMALAR”

Teknik yayınlarım – bunu neden yapıyorum?

2017 de emekli olunca artık keyif aldığım şeyleri yapmaya kararlıydım. Keyif aldığım şeylerin başında da elektronik tasarım çalışmaları geliyor.  

İş hayatımın ilk 10 yılında ARGE mühendisi olarak tam bir iş tatmini ile zevkle çalıştım. Maalesef bu mutlu 10 yılın ortalarından itibaren başlayan yöneticilik görevleri hızla artıp ağırlık kazanarak meslek hayatımın geri kalanını domine etti.

Şimdi evdeki köşemde, mikroişlemci tabanlı elektronik cihazlar geliştiriyorum. Bunu yapabilmek için sürekli olarak yeni şeyler öğrenmem gerekiyor. İlginçtir, orta okuldan bu yana hayatımı bu alanda geçirmiş olmama rağmen bildiklerim bilmediklerimin yanında çok güdük kalıyor. Hani derler ya, muhasebeciye sormuşlar “bir daha dünyaya gelseydin ne olmak isterdin ?” diye, “imam olmak isterdim” diye yanıtlamış. Sebebini sorunca “mevzuat hiç değişmiyor, bir öğrendin mi ömür boyu yetiyor !” demiş. İşte o muhasebeci eğer elektronik mühendisi olsaymış da esas değişimin ne olduğunu görseymiş diyorum.

Continue reading “Teknik yayınlarım – bunu neden yapıyorum?”

STM32F10x GELİŞTİRME MODÜLLERİM – Bölüm 1 : Minikit_P R4 – paralel girişli TFT

Şimdiye kadar çalışmalarımda Çin’den satın aldığım geliştirme modüllerini kullanıyordum. Bunlar hakkında bir başka yayınımda bilgi vermiştim. (görmek için burayı tıklayınız.)

Bunlar ucuz malzemeler olsa da artık ihtiyaçlarıma daha uygun modüller tasarlayıp kullanmanın vakti geldi. (Yerli ve milli !!! :)) )

Özellikle üzerinde TFT ekranlarımı doğrudan takabileceğim soketleri olan, SPI, I2C ve UART portlara kolayca erişebileceğim konnektörleri olan modüllere çok ihtiyaç duyuyorum.

Yeni geliştireceğim modüllerin eskilerinin yerine doğrudan takılabilmesi de gerekiyor ki, daha önce geliştirmiş olduğum cihazlara bunları takıp kullanabileyim.

Continue reading “STM32F10x GELİŞTİRME MODÜLLERİM – Bölüm 1 : Minikit_P R4 – paralel girişli TFT”