Picproje Elektronik Sitesi

PICPROJE PROGRAMLAMA DERSLERİ => STM32 Örnekleri => Konuyu başlatan: enrique_iglesias - 10 Şubat 2017, 22:49:46

Başlık: STM32 ve ARM Hakkında sorularım
Gönderen: enrique_iglesias - 10 Şubat 2017, 22:49:46
Arkadaşlar herkese merhaba;
İleri seviyeden biraz daha alt seviyede 8 Bit PIC kullanıcısıyım ve aynı seviyede picbasic,proton kullanıcısıyım, şuana kadar isteyipte yapamadığım şeyler elbette oldu ama genel olarak beni kurtardı...

Şimdi artık teknolojiye birazdaha yakınlaşarak 32 bit işlemcilere; STM32 mikrodenetleyiciler ile girmek istiyorum.1 Haftadır araştırıyorum kafam allak bullak oldu; Okumaktan, video izlemekten gözlerim şişti, aklıma takılan bazı sorular ve anladığımı doğrulamaya ihtiyacım var;

1 HAFTA İÇİNDE YAŞADIĞIM TECRÜBELER BUNLAR; (Psikolojimi anlayın diye yazıyorum)

1) STM32F072B işlemcili bir board siparişi vererek ilk işe koyuldum...

2) Keil uVision5 indirdim kurdum,kurcaladım,alakalı tüm videoları izledim,proje oluşturdum v.s.(Kod yazmadım!!!!)

3) Kod yazayım dedim kütüphaneler karşıma çıktı,altı üstü bir çıkış pini için satır satır ayarlama kodu yazdılar moralim çöktü.

4) Kütüphaneleri declare edeyim dedim,Device altında GPIO, Framework seçeneklerini bulamadım, videodaki görüntülerden farklı farklı şeyler önüme geldi paketler,downloadlar,kütüphane versiyonları v.s. gördüm moralim dahada çöktü sinirlerim bozuldu. Kendimi aptal gibi hissettim.

4) Kütüphaneleri v.s. çözmeye çalışırken CubeMx denen yardımcı generator ile tanıştım. İndirdim, kurdum, Kurcaladım v.s. çözdüm çok hoşuma gitti moralim yerine geldi. :)

5) Bir örneğe baktım direk registerlarla oynadılar, başka bir örneğe baktım Hal kütüphaneleri falan gördüm, beynim döndü ne yapıyorum diyerek ağlamaklı oldum.

SORULARIM;

1) stm32f030x6.h anladığım kadarıyla denetleyicinin tüm registerlerini tanımladığı benim ilk ve olmazsa olmaz kütüphanem doğru mu? Yani kütüphanem falan filanım yok ise buradaki registerleri işleyerek(bitsel işlemlerle) STM32'yi programlayabilir miyim?

2) hal kütüphanesi nedir? Bu kütüphanedemi çalışmam uygun yoksa üstte belirttiğim gibimi çalışmam daha uygun?

3) PIC'deki gibi boş bir sayfa açıp yazmaktan ziyade bir ton ayarlama yapmamız gerekiyor bunun en kolay yoluda CubeMX generator kullanmakmıdır?

4) CubeMX kullandığımda Keil'de soldaki ağaç penceresinde bir çok dosya include ediliyor.Ben yazmadığım için bunlar beni çok rahatsız ediyor. Hepsi gerekli mi? (necessary işaretliyorum)

5) Online olarak sürekli kütüphane (işlemci serisi) indiren bir IDE beni kendine mahkum etmiş olmuyor mu? Bu hizmetini ya durdurursa nasıl bir önlem almalıyım? Neye alışmalıyım?

6) GPIOD->ODR=0x4000 komutu PORTD.14 'ü high yapıyor doğru mu?

7) PIC'de hep binary yazardım PORTD=%10000000 gibi.
     STM32'de  GPIOD->ODR|= %0000000010000000 gibi mi yazmam gerekiyor?

8) HAL_GPIO_WritePin( GPIOD , GPIO_PIN_7 , GPIO_PIN_SET ); üstteki ile aynı anlam mı taşıyor?

9) #include "stm32f0xx.h"                  // Device header

#define hepsilow GPIOA->ODR=0x0;
int main()
{
hepsilow;
}


tüm portları low yaparmı kütüphaneden kasıt bunun gelişmiş halimidir? (BASIC kullanıcısı olarak yazdım)

10) Son sorum malum PIC'lerde tek bir datasheet varken STM32'de bir çok manuel var.... Program Manuel, Referans Manuel, birde datasheet var hangisi hangi amaçla yazılmış çözemedim.

Şimdilik ilk kafama takılanlar bunlar saçma sapan gelebilir mazur görün kafam yerinde değil doldu taştı, cevaplarınız için şimdiden teşekkür ederim....

Saygılarımla
Murat




Başlık: Ynt: STM32 ve ARM Hakkında sorularım
Gönderen: skara1214 - 11 Şubat 2017, 11:43:59
sorularına cevap verebileceğim kadar vereyim;
-cube mx kullan, internette örnek çok, hatta benimde 2 videom var inşallah devamını getireceğim.
-stm32f103 serisini kullan arm kullandığını o zaman anlarsın . stmf0da çok iyi ama başlangıç için stm32f103 iyidir.
-firma desteği kesmez. konuştugumuz firma basit bir çin firması değil koskoca st. desteği kesip kendi ayağına sıkmaz.
-normalde register kullanırım yanız pin set _reset etmek için hal libraryi kullandım. işin çok başında aklını karıştırma.
Başlık: Ynt: STM32 ve ARM Hakkında sorularım
Gönderen: enrique_iglesias - 11 Şubat 2017, 17:56:22
Serkan Hocam merhaba;
2 videonuzu sanırım ezberledim :) ikincisini anladım ama bana biraz hard geldi, takip ediyorum sizi ayrıca teşekkür ederim... Board STM32F072 olarak artık elime ulaştı , yıllar önceki gibi led yak sön yapıyorum :) hatta polis ışığı ambulans ışığı falan kombinasyon v.s. yapıyorum, eşim bana gülüyor :P Neyse alışacağız ümit ediyorum...

Hal kütüphane örneklerini barındıran bir kaynak varsa pahlaşırsanız memnun olurum ayrıca....

Saygılarımla
Murat
Başlık: Ynt: STM32 ve ARM Hakkında sorularım
Gönderen: ferdem - 11 Şubat 2017, 20:51:19
Benim de tecrübem yok ama 10. soruya cevabım:
10) Datasheet+ reference manuel olarak gidiyor. Datasheet genel bilgiler: pinout, pin functions, electrical characteristics...  reference manuelde ise donanımların detayı ve register lar ile ilgili bilgiler buluyorsunuz.

Soruları netleştirmek de önemli, yolun yarısı :)
HAL library konusu forumda konuşuluyordu, eski başlıklara bir bakabilirsiniz. Keil e alternatif olarak GNU-ARM compiler ı Embitz IDE si ile kullanabilirsiniz.
Başlık: Ynt: STM32 ve ARM Hakkında sorularım
Gönderen: enrique_iglesias - 14 Şubat 2017, 23:11:41
İki led yakınca moralim yerinde geldi :)
3 günde HAL ile gönderme alma beceremedim güya işimizi kolaylaştıracak...
Bugün Allah'ın cezası HAL kütüphanelerini bir kenara atıp direk donanımla muhatap oldum USART kullandım....
Zaten basic kullanıcısıydım, c'ye geçmişim birde pic'i bir kenara bırakıp 32 bit denetleyiciye geçmişim herşey ters gitti sivilcelerim azdı :( neyse c'ye alıştıkça arm'yi daha iyi anlıyorum çok şükür :) sanırım biraz sabır etmem gerekiyor :)
Başlık: Ynt: STM32 ve ARM Hakkında sorularım
Gönderen: muhittin_kaplan - 14 Şubat 2017, 23:14:11
3 gün bu kadar değişiklikten sonra (basic->c,  pic->stm32) 3 gün için şikayet etmeyin.
Başlık: Ynt: STM32 ve ARM Hakkında sorularım
Gönderen: muhittin_kaplan - 14 Şubat 2017, 23:15:28
https://www.picproje.org/index.php/topic,68158.msg524542.html#msg524542
Başlık: Ynt: STM32 ve ARM Hakkında sorularım
Gönderen: enrique_iglesias - 15 Şubat 2017, 10:24:10
Alıntı yapılan: muhittin_kaplan - 14 Şubat 2017, 23:15:28
https://www.picproje.org/index.php/topic,68158.msg524542.html#msg524542

Alıntı yapılan: muhittin_kaplan - 14 Şubat 2017, 23:15:28
https://www.picproje.org/index.php/topic,68158.msg524542.html#msg524542

Muhittin Hocam evet yeni doğmuş gibiyim...

Ayrıca link için teşekkürler baya baya anlatmışsınız. Bu videoyu kaçırmışım ben oda şundan kaynaklanıyor Forum Ana sayfası üzerinde konu başlıkları sanki biraz dağılmış gibi..

Yalnız videoda dikkatimi çekti, zaman çubuğunda 21:51'de ;
if (HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0)){ 
//v.s.........
}

Bu kodda hiç karşılaştırma kullanmadık ==1 veya ==0 gibi karşılaştırma kullanmamız gerekmiyormuydu?
Bu C canımı alacak benim...
Başlık: Ynt: STM32 ve ARM Hakkında sorularım
Gönderen: pea - 15 Şubat 2017, 10:46:35
Alıntı yapılan: enrique_iglesias - 15 Şubat 2017, 10:24:10

if (HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0)){ 
//v.s.........
}

Bu kodda hiç karşılaştırma kullanmadık ==1 veya ==0 gibi karşılaştırma kullanmamız gerekmiyormuydu?
Bu C canımı alacak benim...


if bloğu, içerisinin 0 olup olmamasına bakar.
HAL_GPIO_ReadPin(Port, Pin) fonksiyonu da pin HIGH ise 1, LOW ise 0 dönüyordur zaten.

if(1==1) gibi bir karşılaştırmaya da gerek yok.

Farklı değerler dönen bir fonksiyon kullandığınızda karşılaştırma kullanırsınız, burada gerekmiyor.
Başlık: Ynt: STM32 ve ARM Hakkında sorularım
Gönderen: JKramer - 15 Şubat 2017, 10:50:12
if (HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0))
if (HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0) == 1)
Bu ikisi ayni.

if (!HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0))
if (HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0) == 0)
Bu ikisi de ayni. (Unlem isaretine dikkat)
Başlık: Ynt: STM32 ve ARM Hakkında sorularım
Gönderen: enrique_iglesias - 15 Şubat 2017, 13:34:27
Anlaşıldı çok teşekkür ederim....