STM32F429 Clock Configuration and Timer

  • 3 sene önce, Baran EKREM yazdı.
  • 0 Yorum
  • 232 Kişi Okudu

unnamedDaha önce 8/16 bitlik işlemcilerle çalışmış biri için ARM mimarisine sahip işlemcilerle çalışmak bir hayli zor gelir hele ki akla gelen ilk soru “Clock” ayarlarıdır.STM32F429 Discovery kitiyle çalışırken bu ayarların nasıl yapıldığını bir kenara not alarak basit bir uygulama gerçekleştirdim.Bu örnek Clock ayarlarının nasıl yapıldığı hakkında fikir verecek ve ne kadar basit olduğunu gösterecektir.

Derleyici olarak Em:.Blocks kullanıyordum.Fakat yakın yeni sürüm olarak Embitz ile devam ediyorum.Standart Peripheral Library ile uygulamalara devam ediyorum.

Öncelike bir proje oluşturalım.Bu kitte STM32F429ZI işlemcisi bulunmaktadır.180 MHz de çalışan bu canavar 2MB kod hafızasına ve saymakla bitmeyecek çevre birimlerine sahiptir.Projeyi açtıysak ilk olarak stm32f4xx.h dosyasında HSE (High Speed External ) tanımlamasını düzeltmemiz gerekli.Normalde bu şu şekilde tanımlanmıştır.

Kitin üzerinde 8MHz OSC bulunuyor bunu 8MHz olarak ayarlayalım.

İkinci adımda system_stm32f4xx.c dosyasını açıyoruz.Bu dosyada şu bölümü görmekteyiz.

Buradan özetle şunu anlayabiliriz SYSCLK = (((HSE or HSI) / PLL_M) * PLL_N) / PLL_P dir.

Maksimum hız bu tanımlamaları şu şekilde düzenliyoruz.

Buradan 8 / 8 * 360 / 2 ile 180 değerini elde ederiz.3.adımda yine aynı dosyadan

değerini 180MHz olarak değiştirmeliyiz.

Ve son olarak main fonksiyonunun en üstüne aşağıdaki kodları ekliyoruz.

Bu işlemler tamamlandığına göre basit bir Timer uygulaması yapalım.Bu örnekde TIM2 kullandım.

GPIO_Config

TIMER2_Config

Ve son olarak kesme fonksiyonu

GPIOG.13 dek LED’in hızlı bir şekilde blink olduğunu görebilirsiniz.Şimdilik bu kadar.

Esen Kalın !

 

 

Bir Yorum Yazın