IAR ile STM8S – Beeper ve Timer

  • 5 sene önce, Baran EKREM tarafından yazılmıştır.
  • 5 Yorum
  • 3.095 Kişi Okudu

STM8S serisine kaldığımız yerden devam edecek olursak öncelikle hoşuma giden bir özelliği inceleyeceğiz. Sanırım sesi geldi bile BEEEP ! 🙂 Beeper modülü işlemci içerisinde bulunan bir buzzer kontrolcüsü gibi düşünülebilir. 3 farklı frekans da sinyal üreterek farklı ses ihtiyaçlarınızı oldukça hızlı bir şekilde karşılar. Normalde bu işi yapmak için bir tane Timer harcamak küçük işlemcilerde biraz fazla olabilir. Beeper 1, 2 ve 4kHz’lik çıkış sinyalleri mevcuttur. Kullanımı oldukça basit olan bu modül sadece kalibrasyon fonksiyonunu ihtiyaç duyar. Kalibrasyon işlemini bir kere yaptıktan sonra frekans’ı seçip modülü çalıştırabilirsiniz. Beeper kalibrasyon için bir tane Timer’a ihtiyaç duyar. (Devamını Oku)

IAR ile STM8S – Clock, CCO ve GPIO

  • 5 sene önce, Baran EKREM tarafından yazılmıştır.
  • 0 Yorum
  • 2.792 Kişi Okudu

Bir önceki yazıda proje oluşturmayı ve basit bir led örneğini tamamlamıştık. Bu yazıda Clock ayarlarının nasıl yapıldığını ve temel GPIO komutlarının nasıl kullanıldığını göreceğiz. Öncelikle şunu belirtmek gerekirse ST yayınladığını standart kütüphanesi ile işleri bir hayli rahatlatıp basite indirgemiş. Kullandığınız kütüphane fonksiyonları tamamen elinizin altında. Yapacağı işin dışınca herhangi bir şeye müdahale etmiyor. Bu sayede register’leri kontrollü bir şekilde takip ediyor ve olağan dışı durumlar ile karşılaşmıyorsunuz. CCS C kullananlar bu durumlardan bir kaçını tecrübe etmiştir. İlk olarak yapılması gereken işlem her zaman olduğu gibi Clock ayarlarıdır. (Devamını Oku)

IAR ile STM8S – Giriş

  • 5 sene önce, Baran EKREM tarafından yazılmıştır.
  • 19 Yorum
  • 6.153 Kişi Okudu

Bundan yaklaşık bir kaç ay önce STM8 programlamaya başlamak istiyordum fakat ST Visual Develop beni bu işten bir hayli soğuttu. Anlam verilemeyen derleme hataları ve eski IDE yapısı ile çok kullanışsız olduğunun farkına vardım. Kenarda duran STM8S leri denemek için IAR’I denemek istediğimde IDE rahatlığı, kod tamamlama, düzgün ve hızlı derleme, Debug yapma gibi özelliklerinin oldukça verimli olduğunu gördüm. Özelikle küçük projelerde kullanılan 8 Bit işlemciler fiyat konusunda kıyasıya yarışıyor. ST’nin STM32F1xx 32 bit olmasına rağmen çok ciddi fiyatlara satılıyor. Bu yüzden 8 bit kullanmak yerine daha ucuz olsun derseniz STM32 bile kullanabilirsiniz. (Devamını Oku)

Sıfırdan STM32F0 Dersleri – ADC

  • 6 sene önce, Baran EKREM tarafından yazılmıştır.
  • 0 Yorum
  • 1.348 Kişi Okudu

stm32f0discoveryBu yazıda ADC örneği yapacağız.ADC ölçümü için potansiyometre ile gerilimi ölçüp USART ile bilgisayara aktaracağız. ADC bildiğiniz üzere Analog Dijital Converter. ADC de bilinmesi gereken özelliklerden biri çözünürlük. STM32F0 da 12-10-8-6 bit seçenekleri mevcut.Değerleri dijital olarak alacağımızdan olabildiğince hassas olarak alabilmek için 12 bit çözünürlük kullanıyoruz.Seçtiğimiz çözünürlük bize kaç adım(Step-ADC Value) verecek bunu hesaplayalım.Oldukça basit 2^(bit) 12 bit için 2^(12) = 4096 eder. (Devamını Oku)

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

  • 6 sene önce, Baran EKREM tarafından yazılmıştır.
  • 0 Yorum
  • 1.154 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

  • 6 sene önce, Baran EKREM tarafından yazılmıştır.
  • 1 Yorum
  • 1.229 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)

  • 6 sene önce, Baran EKREM tarafından yazılmıştır.
  • 0 Yorum
  • 1.131 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)

  • 6 sene önce, Baran EKREM tarafından yazılmıştır.
  • 0 Yorum
  • 1.269 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ı

  • 6 sene önce, Baran EKREM tarafından yazılmıştır.
  • 0 Yorum
  • 2.001 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

  • 6 sene önce, Baran EKREM tarafından yazılmıştır.
  • 0 Yorum
  • 1.231 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)