STM32 Programlama - Seri Haberleşme - 6 - Dönel Tampon Yapısı - UART Sürücüsü Finali

Поділитися
Вставка
  • Опубліковано 5 лис 2024

КОМЕНТАРІ • 45

  • @sifirzero
    @sifirzero 4 роки тому +2

    MaşaAllah anlatma ve ögrenme aşkini herzaman devam etsin. Taktir ediyorum

  • @mucahitaltun9866
    @mucahitaltun9866 Рік тому

    Hocam merhabalar ,
    Öncelikle yaptığınız bu çalışma için teşekkür ederiz.Stm32 programlamaya yeni başlayan biri olarak soruyorum.Sizin stm32 video serisini bitirdikten sonra bizler neler kazanacaz veya hangi seviyede olacağız.Yani daha öğrenecek çok konu olacak mı? Teşekkürler...

    • @coskuntasdemirYoutube
      @coskuntasdemirYoutube  Рік тому

      Yeni başladığına göre bu seriyi uygulayarak ve anlayarak tamamlarsan çok şey öğreneceğini söyleyebilirim. Aynı zamanda öğrenmen gereken şeyler içinde de ufak bir bölüm olduğunu söyleyebilirim :)

  • @cemaldinc5096
    @cemaldinc5096 4 роки тому

    bekliyoruz hocam iyi günler

  • @melihdundar1649
    @melihdundar1649 2 роки тому +1

    emeğin için teşekkürler ilk örneğinizi yani dönel tampon olmayan örneğinizi keil da register seviyesinde kodladım ve sizin örneğinizide koduma uyarladım ama şöyle bir sıkıntı var data_flag 1 olmuyor bunuda debug yaptığımda break point attığımda gördüm kodu paylaşıcam hem siz hemde burdaki arkadaşlar bakmak isterlerse baksınlar. Tekrardan bu değerli bilgiler için çok teşekkürler özellikle register seviyesinde bu tür videoların gelmesini dört gözle bekliyorum. #include "stm32f0xx.h"
    #include
    uint8_t temp=0;
    volatile uint8_t buffer[20];
    uint8_t data_flag=0;
    void USART2_IRQHandler(void)
    {


    if(USART2->ISR & (1RQR |=1

  • @CemOZTURKyoutube
    @CemOZTURKyoutube 4 роки тому +1

    Merhaba etiketler kısmında rütbeli değeri yüksek etiket kullanmadığınızdan videonun Seo skoru 100 üzerinden 0 gözüküyor eğer Seo Ayarları oynatma listemdeki 4 videoyu izleyip eski yeni videolarınıza etiket eklerseniz Seo skorunuz 70 e kadar çıkabilir ve videolarınız aramalarda daha çok kelime ile üst sıralarda bulunacağında videolarınız daha fazla izlenir ve kanalınız daha hızlı gelişir, başarılarınızın devamını dilerim

  • @alitahirkarasahin2502
    @alitahirkarasahin2502 3 роки тому

    Öncelikle video serileriniz ve emekleriniz için teşekkür ederim. 7:49 örnek projesinde USART->RDR 32 bitlik bir register, data_buffer ise 8 bitlik bir değişken olarak tanımlandı. RDR içerisindeki değeri data_buffer'a alırken neden (uint16_t) ile dönüştürülüyor?

    • @coskuntasdemirYoutube
      @coskuntasdemirYoutube  3 роки тому +1

      Merhaba, öncelikle böyle sorular gelince, videoları dikkatlice izleyip uygulamaya çalışanlar da var diye görüp seviniyorum. Açıkçası bu örnekteki uint16_t dönüşümü gereksiz olmuş çünkü data_buffer 8 bit dizi olarak tanımlı. Github'daki örneklerde düzelteceğim. Teşekkürler.

  • @mehmetcivan
    @mehmetcivan 2 роки тому

    peki video yu izlerken isletim sisteminde vcpu ring ile alakali bir hata almam ne olabilir :) hayatimda ilk defa gordum bu hatayi bir an sasirdim sanki beni bir konuya dogru yonlendirmek istiyor :) hocam egitimin bir parcasimi buda linux ile bir isbirliginizmi var 😁😁

  • @melihdundar1649
    @melihdundar1649 2 роки тому

    ayrıca tek harf gönderdiğimizde sıkıntı yok ama bir string gönderdiğimizde karışık ve eksik atıyo örneğin "ledon "göndereceğine "ldno" gibi hem eksik hemde yerleri değişik gönderiyor bilginize.

    • @coskuntasdemirYoutube
      @coskuntasdemirYoutube  2 роки тому +1

      Melih tüm kodları çalıştırdığında böyle bir durum olmaması lazım, örnek kodları Github hesabımda bulabilirsin.

    • @melihdundar1649
      @melihdundar1649 2 роки тому

      @@coskuntasdemirUA-cam github hesabınızdan aldım interrup kısmını ve main deki while içindeki kısmı diğer configurasyon ayarları önceden denediğim kodlar onlarda sorun yok yine bakacağım

    • @melihdundar1649
      @melihdundar1649 2 роки тому

      @@coskuntasdemirUA-cam coşkun bey hatayı buldum tabi bu hata benim hatam kod çalışıyor emeğinize sağlık.

  • @rumeysaalkayis2817
    @rumeysaalkayis2817 3 роки тому +1

    Hocam, bu serinin devamını çekmeyi planlıyor musunuz?

    • @coskuntasdemirYoutube
      @coskuntasdemirYoutube  3 роки тому +1

      Evet, UART konusu bitti, timer'larla devam etmeyi planlıyorum.

    • @rumeysaalkayis2817
      @rumeysaalkayis2817 3 роки тому +1

      @@coskuntasdemirUA-cam Zaman ayırdığınız için teşekkürler, verdiğiniz eğitim gerçekten benzerlerinden daha etkili umarım daha fazla içeriğe imkan bulursunuz.

  •  4 роки тому +1

    Otomatik silah örneği çok iyi :D

    • @coskuntasdemirYoutube
      @coskuntasdemirYoutube  4 роки тому +2

      Burada haberleşme için yazdığımız mekanizmaya silah örneği çok uyuyor :)

    •  4 роки тому

      Evet hocam :)

  • @BetulKaplan
    @BetulKaplan 3 роки тому

    Merhabalar, öncelikle paylaşımınız için teşekkür ederim, 2 gündür HAL function olmadan bir çözüm arıyordum sonunda buldum. Yalnız şu an receive yaparken kesmeye sadece bir kere giriyor. Bununla karşılaştınız mı veya bir çözüm öneriniz var mıdır?
    Reference manual de datayı okuyunca RXNE bitinin clear edildiği yazılıyor. Ben program çalışınca gelen ilk byte ı okuyorum ikincisi gelmiyor zaten kesmeye

    • @coskuntasdemirYoutube
      @coskuntasdemirYoutube  3 роки тому

      Betül dediğin gibi RXNE bitini sıfırlıyorsan ya 2. veri gelmiyor ya da farklı bir problem var.

    • @BetulKaplan
      @BetulKaplan 3 роки тому

      @@coskuntasdemirUA-cam hocam interrupt a break point koymuştum byte byte göreyim diye. Ilk bytetan sonra ORE bit açılıyordu. Timeout gibi bir durum oluyordu sanırım. Okumayi kesmeyince düzeldi.
      Çok teşekkür ederim.

  • @abdullahyazan
    @abdullahyazan 4 роки тому

    Hardware in the loop hakkında detaylı bir video çekermisiniz

    • @coskuntasdemirYoutube
      @coskuntasdemirYoutube  4 роки тому

      Çok kullandığım bir sistem değil. Zamanında İHA çalışmalarında kullanmıştık.

  • @theblitz1687
    @theblitz1687 Рік тому

    bende neden uart_driver.c yok? Yardım edebilir misiniz?

    • @coskuntasdemirYoutube
      @coskuntasdemirYoutube  Рік тому

      Tam olarak ne yaptığını bilmediğimden bana cevap vermem zor. Dosyayı kendin oluşturdun mu? Ya da github hesabımdan direk indirip mi kullanıyorsun?

    • @theblitz1687
      @theblitz1687 Рік тому

      @@coskuntasdemirUA-cam yok, githubdan kopyalamadım, sadece usart2 yi nvic kısmından aktive ettim, generate code dedim. uart_driver.c 'nin gözükmesi için başka bir şey mi yapmam lazım? Serinizin önceki videolarında baktım sizde de gözükmüyo, herhalde bir şeyi eksik yapıyorum ama ne bir fikrim yok.

    • @coskuntasdemirYoutube
      @coskuntasdemirYoutube  Рік тому

      @@theblitz1687 uart-driver.c dosyası kendi oluşturduğumuz bir dosya örneklerle beraber geliyor, generate edince gelmiyor

    • @theblitz1687
      @theblitz1687 Рік тому

      @@coskuntasdemirUA-cam o dosyayı oluşturmadan da bu örnekteki kodları yazmak mümkün olur mu? Daha mı karışık olur sadece?

  • @emreelma9582
    @emreelma9582 2 роки тому

    Hocam merhabalar, son örnekte ki kodun aynısını implemente ediyorum. while içerisini çalıştırıyor ancak terminal ekranda çıktı alamıyorum sebebi ne olabilir

    • @coskuntasdemirYoutube
      @coskuntasdemirYoutube  2 роки тому

      Önceki örnekleri çalıştırıp terminalde çıktı alabiliyor musun?

    • @emreelma9582
      @emreelma9582 2 роки тому

      @@coskuntasdemirUA-cam Evet hocam

    • @coskuntasdemirYoutube
      @coskuntasdemirYoutube  2 роки тому

      @@emreelma9582 Kodlarda bir eksik olabilir o zaman, kodun tümünü Github hesabımda bulabilirsin.

  • @ilkeraykut7064
    @ilkeraykut7064 3 роки тому

    Hocam ring buffer kısmı biraz karıştı bununla ilgili bir örnek daha yapabilir misiniz?

    • @coskuntasdemirYoutube
      @coskuntasdemirYoutube  3 роки тому +1

      Muhtelemen onu yapmam zor ama ring buffer olarak aratıp farklı kaynaklardan da faydalanırsan faydası olabilir çünkü konu mikrodenetleyici ya da STM32'lerden bağımsız bir "veri yapısı" konusu.

    • @ilkeraykut7064
      @ilkeraykut7064 3 роки тому

      @@coskuntasdemirUA-cam bu ring buffer 9600 baudratelerde kullanılması çok gerekli midir?115200 gibi baudratelerde mi kullanılmalı?

    • @coskuntasdemirYoutube
      @coskuntasdemirYoutube  3 роки тому +2

      @@ilkeraykut7064 9600 baud dediğimizde yaklaşık olarak 1 ms'de bir bayt verinin gelmesi demek (Sürekli veri geliyorsa). Uygulamada veri yoğunluğuna göre değişir. Arada bir 1 bayt veri geliyorsa mesala tabi ki gerek yok.

    • @ilkeraykut7064
      @ilkeraykut7064 3 роки тому

      @@coskuntasdemirUA-cam hocam o zaman 1 ms altındaki değerler için kullanmalıyız diyebilir miyiz

    • @coskuntasdemirYoutube
      @coskuntasdemirYoutube  3 роки тому +1

      Dediğim gibi uygulamana göre değişir ama bana göre her zaman kullanmakta fayda var, diğer türlü illa ki veri kaçırma olacaktır bir noktadan sonra.

  • @mustafacagraltindal
    @mustafacagraltindal 4 роки тому

    Hocam USART2 -> ISR; formatı STM32F103xx de çıkmıyor. Sanırım donanımda farklılık olabiliyor mu?

    • @coskuntasdemirYoutube
      @coskuntasdemirYoutube  4 роки тому +1

      İşlemci modelleri arasında farklar olabiliyor. Ayrıca bazen kod tamamlama özelliği de çalışmabiliyor, kodu derleyip deneyebilirsin bunu bir de.

    • @mustafacagraltindal
      @mustafacagraltindal 4 роки тому

      @@coskuntasdemirUA-cam hocam derlediğimde " 'USART_TypeDef {aka struct }' has no member named 'ISR'; did you mean 'SR'?" hatası almaktayım. STM32F103C8T6

    • @coskuntasdemirYoutube
      @coskuntasdemirYoutube  4 роки тому +1

      @@mustafacagraltindal İsimlendirme farkı olabilir, kendi modelindeki isimleri kontrol etmen gerekiyor, SR olabilir register'ın adı.

    • @MehmetAliTurhan
      @MehmetAliTurhan 4 роки тому +1

      @@coskuntasdemirUA-cam Aynen dediğiniz gibi hocam ben de STM-34F407VG kullanıyorum, ISR register'ı yerine SR var. Aynı zamanda TDR ve RDR registerları yerine tek bir DR registerı bulunuyor.

    • @coskuntasdemirYoutube
      @coskuntasdemirYoutube  4 роки тому +8

      Burada yaptığım örnekleri birebir almak yerine UART birimi nasıl çalışıyor, kesmeleri nedir ve nasıl çalışıyor vs.. gibi konuları genel olarak anlamak önemli. STM32'ler de olsa farklı modeller de olsa temel mantıkta tüm UART birimleri aynı çalışır. Ama tasarımında ve register adlandırmalarında farklar olabilir.