Atollic ile program yazmak hakkında büyük problem yaşıyorum... ??

Başlatan tekniker_murat, 19 Kasım 2021, 21:41:32

tekniker_murat

Herkese selamun aleyküm değerli ustalarım ve hocalarım...

Ben biraz stm32f4 serisi mikrodenetleyicileri programlamayı öğrenmek istiyorum. İstiyorum ama öyle basit bir istekle de bu işlerin olmadığını çok iyi biliyor ve bildiğimi bilmediğimle öğreniyorum :D

Şu bir haftalık bir süredir youtube de çok değerli hocaların videolarını izliyorum biraz araştırmalar yapıyorum.

Cubemx ve atollic truestudio diye iki tane program ile yazılım yapan bir hocamın videosuna takılıp devam ettim Muhammed Fatih köseoğlu isimli bir hocamın yaptığı videolar var...

https://www.youtube.com/c/MuhammedFatihK%C3%96SEO%C4%9ELU

Adresinde...

Fakat bayağı izledim cubemx ile istediğim ayarları yapıp osc ayarlarını giriş çıkış pull-up pull-down ayarları vs yapıp atollic truestudio ile proje oluşturup kod yazılan alana kadar gelip orada klasik C dilindeki işlemler olan değişken tanımlama vs işlemlerini yapabiliyorum.

Ama cubemx de örneğin çıkış olarak tanımlayım lamba adını verdiğim bir pin i yakıp 500 ms bekleyip söndür demesini beceremiyorum o komutları yazamıyorum...

Anladığım kadarı ile bu pic programı gibi derleyicinin sahip olduğu standart komutlar gibi komutları kullanmıyor.

HAL KÜTÜPHANESİ denen kütüphanedeki tanımlı komut dizisini kullanıyor ama ben işte tam olarak burada çuvallıyorum :D

Hal kütüphanesi nedir komutları nelerdir bu komutlara nereden erişebilirim neyin neye yaradığını nasıl anlarım... nasıl bir yol izlemem gerekir gibi konularda bana yardımcı olabilir misiniz ?

Cidden bu işi öğrenmek istiyorum çok kaliteli olan kitaplar var onları satın alırım ama her biri farklı kodları anlatıyor kafam karışsın istemiyorum bana biraz yardım lütfen abilerim :)
[email]murat.yagci.1984@gmail.com[/email]

Tagli

Atollic TrueStudio artık ölü bir program. Onu sil. Yerine STM32CubeIDE yükle. İkisi oldukça benzer zaten. Bunun içinde CubeMX de gömülü halde geliyor, yani aslında ona da gerek yok ama sana kalmış.

HAL oldukça popüler ve internette de çok örneği var. Kendi dokümanlarını ben fazla karmaşık buldum gerçi. Ancak kütüphaneyi genel olarak sevmedim ve benim işimi kolaylaştırmadığı sonucuna vardım. Bu sebeple ben projelerimde HAL ve Cube altyapılarını kullanmıyorum.

STM32, PIC'lere göre belirgin şekilde daha zor, özellikle de ilk adımları atmak. Eğer bu işi gerçekten öğrenmek istiyorsan, kullanacağın işlemcinin Reference Manual ve Datasheet'ini güzelce çalış. Kolay olmayacak, ama zamanla insan öğreniyor ve alışıyor. Projende CMSIS header dosyalarını kullanman işini epey kolaylaştıracaktır. Ama doküman okumadan bir yere varabilmen imkansız.

Forumda @z 'nin hazırladığı eğitimler vardı. Buradan ulaşabilirsin. Örneklerinde IDE olarak Keil kullanmış ve CMSIS header'larındaki sabitler yerine "magic number" kullanıyor olması bence yanlış. Ama yine de register seviyesinde STM32'lerin nasıl programlanabileceğini güzel örneklerle göstermiş.

Benim zamanında hazırladığım STM32F103'lü Blue Pill kartı için LED yak söndür örneğim var. İlgili linklere buradan ulaşabilirsin.

Tabi yine de Cube ve HAL kullanmayı da seçebilirsin. Ancak bu seni Reference Manual ve Datasheet okumaktan kurtarmayacak, şimdiden söyleyeyim.
Gökçe Tağlıoğlu

Yuunus

Alıntı yapılan: Tagli - 19 Kasım 2021, 23:38:16Atollic TrueStudio artık ölü bir program. Onu sil.
st sitesinde hala yayinlarken siz neden hemen gomdunuz, cube idenin kodlarinida destekliyordu yanlis hatirlamiyorsam.olumsuz birsey mi gordunuz.

Tagli

@Yuunus , ST kendi sitesinde artık güncel olmayan ürünlerine de yer verir. Ancak ürün sayfasına girdiğin zaman zaten kendisi de bu ürünün kullanımdan kalktığını belirtiyor. Yine de eski projelerin bakımlarının yapılabilmesi için eski araçların hala ulaşılabilir olması önemli.



Zaten en son birkaç yıl önce versiyon 9.3 yayınlanmıştı. Orada kaldı. IDE'nin eski olması demek, dayandığı Eclipse platformunun da eski olması anlamına geliyor. Bu da yeni C ve C++ derleyicilerini ve standartlarını, ve de ST'nin yeni ürünlerini ve programlayıcısı cihazlarını desteklemeyeceği anlamına gelir. Ayrıca IDE'de bug'lar varsa bunlar da düzeltilmeyecektir.

İşin özü, STM32CubeIDE'yi TrueStudio'nun yeni versiyonu gibi düşünebilirsin.
Gökçe Tağlıoğlu

tekniker_murat

@Tagli hocam Allah razı olsun...

Biz işi hiç bilmediğimiz için demek ki taa nereden başlamışız  :D Evet dediğiniz gibi bu programı kaldırıp sizin dediğiniz programı kuracağım.

Biraz konulara bakayım sonra zaten sorun olursa yine bu başlık altında size sormak isterim.
[email]murat.yagci.1984@gmail.com[/email]

tekniker_murat

@Tagli hocam yine ben :D

Söylediğiniz programı indirdim ve bir kaç tane de video baktım zaten eskisinin pek farklısı değilmiş adaptasyon zor olmadı. ( teşekkür ederim. )

Sorunum şu aslında videoda adam proje yazarken HAL_ yazınca komutlar bir sürü aşağıya doğru açılıyor ve oradan istediğini yani uygun olanı seçip geçiyordu. Ama ben programı yükledim bende HAL_ yazınca her hangi bir seçenek vs açılmıyor. Bunu nasıl sağlayabilirim bir de aşağıda resimler koydum orada da zaten bir kaç noktayı belirttim incelerseniz çok memnun olurum.











[email]murat.yagci.1984@gmail.com[/email]

a.zorba

Youtubede gomulu mühendis in videoları ile başlangıç yapabilirsin.
Bilenler bilir . Biz maraşlilar için şehir olarak şubat ay' i bayram ,kurtuluş ,yaz in gelmesiydi. Şimdi karalar in yas in ayı oldu.

Tagli

@tekniker_murat , ben CubeMX ve HAL'ı kullanmadığım için oluşturduğu projelere hakim değilim ve pek bilgim yok. Ancak eğer HAL kütüphane dosyaları projeye doğru bir şekilde eklenmişse - ki CubeMX bunu otomatik yapıyor olsa gerek - Eclipse'te Ctrl+Space'e basınca kod tamamlama özelliğinin çalışıp seçenekleri göstermesi gerekir.
Gökçe Tağlıoğlu

tekniker_murat

Peki @Tagli hocam siz HAL kütüphanesi kullanmadığınızı söylemişsiniz ben de bir müddettir bir video izliyorum orada da aslında register seviyesinde kodlamadan bahsediyor coşkun hoca...

Siz de register seviyesinde program mı yazıyorsunuz bana bir pin giriş çıkış olarak ayarlanması ve bir çıkış pinini önce high sonra low yapmak için kullanılan kod komut her ne ise örneği verir misiniz ?

Bu programı ben mikroc ile yazacak olsam ve pic için olsa
int main(void)

{

trisb=0;
portb=0;

while (1) {

portb.0=1;
portb.0=0;

}
}

Der geçerim ama tabii ki bu pic değil yazılım da mikroc değil burada bir çok register ele alınıyor vs ama bana asıl komutlar lazım bir kitap yada bir döküman öneriniz var mı hocam ??

[email]murat.yagci.1984@gmail.com[/email]

muhittin_kaplan

cube ide de yeni bir proje başladığınızda, hangi seri mcu kullanacağınız size sorar ve gerekirse HAL kütüphanesini indirir.
CubeIde de kod tamamlama ctrl+space ile çalışır.(birçok ide de böyledir)

Tagli

@tekniker_murat , ilk mesajımda STM32F103 için örnek proje paylaşmıştım. Maalesef eski F1 serilerinin GPIO sistemi diğer serilerden farklı, o yüzden oradaki ayarlar F4 serisinde işe yaramayacaktır. GPIO ile ilgili pek çok ayar var, ama en temel ayar - pinin giriş mi çıkış mı olacağı - MODER denilen bir register ile yapılıyor. Reference Manual'de özellikle bu register'ı bir incele, takıldığın yer olursa sor yine.

@z'nin eğitimlerine bakmayı da ihmal etme.
Gökçe Tağlıoğlu

magnetron

projende driver klasörü içinde HAL_GPIO dosyası var

onun içinde hazır fonksiyonlar var GPIO set reset etmek için onları kullan