Sıfırdan STM32F0 Dersleri – SPI (OLED Display)

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

stm32f0discoveryBu yazıda SPI kullanımı öğrenerek bir OLED Display süreceğiz.Başlamadan önce ben 128×64 OLED Display kullanacağımı belirteyim.Bu SSD1306 ile sürülen bir Display.Sürücü dosyası mevcut gerekli kodları paylaşacağım.Bu örnek de SPI ile süreceğimiz OLED resmi aşağıda mevcut.Serial Peripheral Interface Bus ya da SPI veri yolu full duplex modda çalışan senkron bir seri veri bağlantısı standardıdır.Master-Slave şeklinde çalışır.Yani bir Master ile bir çok Slave ile haberleşebilirsiniz. (Devamını Oku)

Sıfırdan STM32F0 Dersleri – USART

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

stm32f0discoveryBu yazında en sevdiğim çevre birimi olan USART dan bahsedeceğim.USART : Universal Synchronous/Asynchronous Receiver/Transmitter olarak açılır.Açılımındanda anlaşılacağı üzere senkron ve asenkron olarak çalışabilir.
Temelde 2 pin kullanılır. TX ve RX.
TX Transmitter(Verici) RX Receiver(Alıcı) Anlamına gelir.Herhangi bir cihaz ile bağlantı yapılırken çapraz bağlantı yapılır.
USART’ın ilk yapılması gereken ayarı Baud Rate dir. Baud rate iletişim hızını belirler. Bir diğer nokta ise her seferinde kaç bit gideceğidir. (Devamını Oku)

Sıfırdan STM32F0 Dersleri – Sayıcı (Timer)

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

stm32f0discoveryBu yazımda sizlere Timer dan bahsedeceğim.Timer adındanda anlaşılacağı üzere sayıcıdır.Ayarladığımız değerlere göre arkada planda sayım yapar ve bu ayarladığımız değer belirli bir süreye denk gelir ve bu süre dolunca yani timer taşınca bir kesme oluşturur.Yani Timer kesmesi diyebiliriz.Ben bu yazıda kesme özelliğini anlatmaya çalışacağım.İlerki yazılarda PWM içinde kulanıldığını göreceğiz.STM32F051 de bir den çok timer bulunmakta biz 16 bitlik olan Timer3’ü kullanacağız.
Peki bu timer bize ne kazandıracak ? ne işe yarayacak ? Kesme özelliğini kullanıp belirli zamanlarda işlem yapmamızı sağlayabilir.Yani herhangi bir bekleme yapmayarak diğer işlemleri aksatmadan zamanlı olarak çalışmamızı sağlayacak. (Devamını Oku)

Sıfırdan STM32F0 Dersleri – Harici Kesme (External Interrupt)

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

stm32f0discoveryBu yazıda STM32F0 ile External Interrupt (Harici Kesme) yi göreceğiz.Kesmelerden biraz bahsetmek gerekli.Kesmeyi en iyi örnek ile anlayabiliriz.Ana program da bir sürü işimiz var ama arada sırada 1 saniyelik bekleme yapmamız gerekiyor.Bu beklemeleri yaparsak diğer işlerimiz aksayacak o zaman ne yapabiliriz ? Mesela bir timer kurarız.Bu timer 1 saniyeye ayarlanır ve her saniyede bir kere kesme üretir.Kesme oluştuğunda bir değişkeni set ederiz ve ana programda bunu kontrol ederiz.Bu sayede hiç bir işi aksatmadan 1 saniyelik aralıklar ile hiç bir şeyi aksatmadan istediğimiz yapabiliriz. (Devamını Oku)

Sıfırdan STM32F0 Dersleri – Clock Ayarları ve GPIO Kullanımı

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

stm32f0discoveryGiriş kısmından sonra bu yazıda işlemcimizin çalışma frekansı ayarlarını yaptıktan sonra GPIO kullanımını anlatacağım.Öncelikle yapmamız gereken projemizin src klasörü altında bulunan src\system_stm32f0xx.c dosyasını açıp RCC(Reset And Clock Cofiguration) ayarlarını yapmak.Burada yapacağımız ayar işlemcimizin harici mi(HSE = High Speed External – Yüksek Hızlı Harici) yoksa dahili(HSI = High Speed Internal – Yüksek hızlı Dahili) kristalden mi çalışacağını belirtmek.Biz HSI ya göre ayarları yapacağız çünkü STM32F0 Discovery kitte harici kristal takılı değil.Fakat pinler mevcut isterseniz siz lehimleyebilirsiniz.(8MHz) (Devamını Oku)

Sıfırdan STM32F0 Dersleri – Proje Oluşturma

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

stm32f0discoveryBu örnekler de STM32F0 Discovery Kiti kullancağız.Üzerinde STM32F051R8T6 işlemcisini barındırıyor.Kit ile ilgili teknik dökümanları kaydetmekte fayda var.Ara ara inceleyeceğiz.IDE ve Compiler olarak Emblocks ve GCC kullanacağız.IDE kendi içinde Compiler olarak standart GCC’yi barındırıyor.Ayrıca Standart Peripheral Library de IDE tarafından ekli şekilde geliyor. (Devamını Oku)

XC8 Dersleri 2 – ADC

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

a2d_3bitsRegister kullanımını anladıysak artık çevre birimlerine geçebiliriz.Bu yazıda Analog Dijital Converter (ADC)’ı anlatmaya çalışacağım.Yine benim vazgeçilmezim olan PIC12F1822 ile devam etmek istiyorum.Bu MCU da 10-Bitlik ADC bulunmakta.2^10 dan 1024 değerlik bir ölçüm yapabileceğimizi görüyoruz.Bu projede RA1 de bulunan Potansiyometre ile gerilimi değiştirerek RA0 daki LED durumu değiştirelim.1024 değer olduğundan bizim değerimiz 511 ve üzeri ise LED yansın diğer durumda sönsün. (Devamını Oku)

XC8 Dersleri 1 – I/O

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

47528Bu yazıda XC8 ile registerların nasıl kullanıldığını ve PIC de I/O (Input/Output) işlemlerinin nasıl yapıldığını anlatmaya çalışacağım. Oldukça basit olan Microchip mimarisi sayesinde bu işlmeleri yapmanın kolay olması yanı sıra yazılımları taşınabilirliği ve başla MCU’lara uyarlanabilmesi oldukça güzel. Sürekli gelişen bir alanda çalıştığımız için yazılan kodların taşınabilir, düzenlenebilir, anlaşılabilir olması bir MCU programcısı için çok önemlidir.
(Devamını Oku)

STM32F4 – PWM and Complementary Output

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

image50STM32F4 de bulunan bir çok Timer dan TIM1 ve TIM8 bize ekstra özellikler sağlıyor.Bu timerlar ile “Complementary” çıkışlar elde edebiliyorsunuz. Complement çıkış bir PWM sinyalinin tam tersidir. Şayet bir PWM çıkışı “CH1″olarak isimlendiriliyor ise Complement’i “CH1N” olarak ifade edilir. Alternatif olarak PWMH ve PWML olarak da görebiliriz. (Devamını Oku)

Paket Algoritması

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

cs161logoÖzellikle MCU haberleşmelerinde kullanılan bir takım haberleşme protokollerinde sabit bir veri bloğunun gönderilmesi ve gönderilmekten ziyade bu verilerin kontrol edilmesi bir hayli zor.

Bunun için çeşitli algoritmalar olmakla birlikte en çok kullanılan yöntemlerden biri paket yöntemidir.Paket yöntemi haberleşen 2 tarafında bildiği bir yapıdan oluşmaktadır.Bu pakette çeşitli başlangıç, bitiş ve kontrol bytelar’ı bulunur.Benim kullandığım paket yapısı şöyledir.
(Devamını Oku)