STM32F4 Discovery Led Yakma ( STM32 CUBE MX / IDE )

 Amaç:

1 sn aralıklarla tüm ledleri yakıp sönmesi

STM32 CUBE MX / IDE ile yapılışı


İlk başta board seçilir bu işlem için ilk başta

·         STM32CubeMX  programı açıyoruz. New proje diyoruz.


 

Kullandığınız hazır bir kart ise Board select tıklayıp arama yerine kartın atını yazıp dogru kartı aşağıdan seçiyoruz.


Karşimiza aşağıdaki gibi bir ekran çıkacak burda istedğimiz pinleri kullanarak duruma gore kodumuzu oluşutrabiliriz.



LED Yakma İşlem Adımları :

Led yapma için PD12 - PD13 – PD14 – PD15 pinlerini GPIO_Output olarak ayarlancak




 solda goruldüğü gibi olacaktır.

 

 

 

 

 

 

 

 

 

Clock açmak için system core kısmına gelerek gösterilen işlemler yapılır. RCC tıklıcaz


 

Yüksek hızlı harici clocku seçtik sağ tarafta da seçtikten sonra otomatik pinler oluşturuldu.

Clock configurasyonu için ikinci kısma geçicez.

 


 

8MHz harici osilatoru kullanarak PLL yardımıyla 168MHz lik bir clock elde ediyoruz.

Seçtiğimiz pinlerin modlarını seçmek için systemCore-> GPIO giricez ve gösterilen işlemleri gerçekleştircez.

Her pini burdan ayarlayabiliriz. Pinin üstüne çift tıklayınca alttaki yer açılır.

GPIO output level : ilk başladığında durumu cikiş versin mi vermesin mi ( LOW: çıkış vermesin anlamına gelir.  )

GPIO mode : çıkış modu belirlenir.

Max output speed : çıkışın hızını belirtir.

 


 

Hepsinin çıkış hızını very high yaptım tasarruf olması açsından ilerki yapılacak projelerdeki hızı düşürebiliriz.

 

Kodun oluşması için Project manager a gelioyruz.


 

Proje ismini  ve hangi IDE de kodun yazılacaksa onu seçiyoruz. Ben STM32CubeIDE kullanıyorum.

Generate code diyoruz be kod oluşuyor.

Open Project diyerek IDE de açabiliriz.

NOT:

/* USER CODE BEGIN 0 */   /* USER CODE BEGIN PFP */

 

/* USER CODE END 0 */     /* USER CODE END PFP */

 

Gibi yazıların arasına yazarsak tekrar generate ettiğimizde bunların arasına yazılan yazılar silinmez.

Hal kütüphanlerinden yararlanarak tüm ledlerin yanıp sönmesi için

İnt main() içindeki while(1) içine aşağıdaki kodu yazdım.

HAL_GPIO_WritePin(GPIOD, GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15, GPIO_PIN_SET);

HAL_Delay(500);

HAL_GPIO_WritePin(GPIOD, GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15, GPIO_PIN_RESET);

HAL_Delay(500);

Boardu usb ile pcye bağlıyoruz.

 

 

Kodu mikroişlemciye atabliriz.


Video : 


Yorumlar

Bu blogdaki popüler yayınlar

STM32F4 Discovery İnterupt Buton ( STM32 CUBE MX / IDE ) ve ATOLİC

Analog PID ile Encoderlı Motorun Hız Kontrolu