7 Temmuz 2014 Pazartesi

STM32f4 Serisi Registerları ve Kodlanması

Merhaba arkadaşlar,
  Bu yazımda sizlere uygulamalarımızda kullandığımız registerlardan örnekler vererek register tabanlı kodlama hakkında bilgiler vermeye çalışacağım.
&nbsp Register ingilizce kökenli bir kelime olmakla beraber, kaydetmek ,eklemek anlamına gelmektedir. Peki Kitimizde bulunan kaydediciler yani registerlar nelerdir bir kaç örnek verelim.

->RCC registers:Reset and clock registers
->General-purpose I/Os (GPIO) registers
->DMA registers
->Timer registers
->İnterrupt register


 Aklıma ilk gelen ve başlangıç aşamasında kullanacağımız kaydediciler bunlar arkadaşlar. Bu registerları nereden bileceğiz,nasıl kullanacağız,hangi alt özelliklere sahiptir gibi soruların cevabını buradan indireceğiniz referance manuelde bulabilirsiniz.

  Şimdi ilk örneğimiz olan Buton ile led kontrol uygulamamızda kullandığımız registerlardan bazılarının nasıl kullanıldığına göz atalım.

  RCC AHB1 peripheral clock register= Bu register ile kullanacağımız portlara clock verip işimiz bittiğinde resetleme işlemi yapabiliyoruz.Referance manuel 178.sayfada bulunan tablodada gördüğümüz üzere bu kaydedicinin 0-31 arasında bitleri ve her bitin kendi işlevi bulunmakta.Biz uygulamamızda A portuna bağlı butonu ve G portuna bağlı ledleri kullanmak için, A ve G portlarını Enable ettik yani clock verdik.

RCC->AHB1ENR=0x00000041=0000 0000 0000 0000 0000 0000 0100 0001
 İkilik tabanda 32 bit halinde yazılmış bu değer 0.bitten başlayarak sola doğru 31.bitte sona eriyor.Biz Bit0 ve Bit6 yı lojik bir yaparak A ve G portlarını kullanıma açtık.

GPIO port mode register (GPIOx_MODER)=RM sayfa 278 de kullanımı ayrıntılı şekilde anlatılan bu kaydedicinin kullanımı PİC e aşina olanlara biraz yabancı gelsede ufak bi göz atmayla anlaşılacaktır.

GPIOG->MODER|=0x14000000=00|01 01|00 00|00 00|00 00|00 00|00 00|00 00|00
Kitimizin üzerindeki ledler Gportu 13. ve 14. pinlerine bağlıdır. Bu pinlerin modunu erişebilmek için 2y:2y+1 bitlerini kullanacağız burada y pin numaramız. Yani 13. pinin modunu giriş yapmak için 26. ve 27. pinleri sırasıyla 10 kodluyoruz.Aynı işlemi 14.pin için 28. ve 29. pinleri sırasıyla 10 yapıyoruz

 Evet arkadaşlar örnek kullanımlarda da gördüğümüz gibi uygulamalarımızda bize Referance Manuelimiz yoldaşlık edecek. Size tavsiyem kullanılan registerları RM den aratıp hangi bit ne için 1 yapılmış ne için 0 yapılmış kontrol ederek kodları anlamanız olacaktır.

Hiç yorum yok :

Yorum Gönder