DERS-9- UART INTERRUPT RECEIVE & TRANSMIT

Поділитися
Вставка
  • Опубліковано 14 січ 2025

КОМЕНТАРІ • 23

  • @turkaysagr3516
    @turkaysagr3516 2 роки тому +2

    hocam emeğinize sağlık, sondaki led uygulaması için while içerisindeki koşullarda rxIndex++; yerine rxIndex=0; yapılarak sürekli atama yerine rxBuf'ın 0. indeksini de okuyabilirdik değil mi

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

      Tabiki datayi surekli sıfırıncı indeksi guncelleyerek okuyabilirdik ama bu kacinci datayi okudugumuzu anlamayi guclestirebilir ve kompleks yazilimlarda hata yapmaya sürükleyebilir.

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

    Hocam peki IRQ handler ne işe yarıyor . Callbackten farkı nedir acaba.

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

      Aslinda bir callback kullanicilar icin yapilmis bir fonksiyon eger proje icerisinde aratirsan callback fonksiyonunu irq fonksiyonu icerisinde cagiriliyor. Callback HAL in getirmis oldugu bir fonksiyon.

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

      @@mkaanalsancak peki biz callback yerine sadece ırq kullandığımızda da aynı sonucu verir mi ayrıca ana döngüden önce receive_it fonksiyonu ile aktif etmemize gerek var mı .

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

      Callback yerine irq kullanabilir ama interrupti aktif etmek gerekli. Receive interrupt fonksiyonu interrupt flag i ayarliyor. Eger standart kutuphane yada register seviyesi yazmak istersen irq kullanabilirsin.

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

      @@mkaanalsancak Cevabınız için çok teşekkür ederim. Peki neden transmit modda ana döngü öncesinde neden transmiti aktif etmediniz.

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

      Ilgin ve yorumlarin icin ben tesekkur ederim. Tranamiti interrupt ile kullanirsan polling moda gore siatemde daha az zaman alir. Yani bir timer kurup polling transmit ile intterrupt transmit fonkaiyonlarina girmw cikma sureleri arasindaki farka baksan interrupt mod transmitin cok daha hizli oldugunu gorursun. Bu islemleri genelde zamanlama kritik islemlerde kullaniyorum. Burada oyle bir durum olmadigi icin kullanmak istememisimdir buyuk ihtimalle acikcasi hatirlsmiyorum 😀

  • @fratkara3297
    @fratkara3297 Рік тому +1

    Hocam merhaba bu kodlari stm32f401re karti icinde yaptığınız gibi yapsak calisirmi acaba

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

      Işlemci seçimini cubemx tarafında f401 e göre yaparsanız çalışır.

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

    Selam,
    STM32F7xx UART ile HC-05 Bluetooth modülü sürmek ve mobil telefona ya da pc'ye data iletmek istiyorum ancak kodları F767'ye uygun şekilde modifiye ettiğim halde modülle haberleşmiyor! Nucleo F4 ya da F7 ile benzer bir video yapabilir misiniz?

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

      Elimde F4 ve ya F7 serisi bir board bulunmuyor. Ama kodu mail atarsanız yardımcı olmaya calısırım.

  • @do-crypto7952
    @do-crypto7952 2 роки тому +1

    Merhaba video için teşekkürler. Benim şöyle bir soru olacaktı. Eğer 4 tane farklı veriyi transmit_IT ile göndermek istiyorsam nasıl göndermeliyim ? 4 farklı değişken için 4 tane HAL_UART_Transmit_IT dediğimde ilki geliyor ama geri kalanlar gelmiyor.

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

      Kod parcacigini benimle paylasabilir misiniz? Belki ardisik olarak ekleme islemi yapmaniz data gonderilmeden register a deger yazmaya calisiyor olabilir. Kodu gormeden yorum yapmam yanlis olabilir.

  •  10 місяців тому

    Hocam, Veri göndermeyi Hercules yerine Nextion ekrandan yapıyorum. ama bakıyorum Nextiondan sürekli formatsız nizami olmayan yani gürültü içerikli veride geliyor. Buda Programı her saniye İnterrupt ediyor. Halbuki Nextion ekrandaki s0 grafiğe analog veride göndermemde lazım. Bu sefer ona izin vermiyor. Çünkü stm103 sürekli interrupt yiyor. Ne önerirsin?

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

    örneğin çok kısa aralıklarla 20ms gibi sürekli veri gönderim alımını dusünursek, gönderim hatasının olmaması için CRC kodu programa dahil edilmelimi birçok örnekte CRC uygulaması yok ve anlatılmıyor, bu CRC neden kullanilmiyor

    • @mkaanalsancak
      @mkaanalsancak  3 роки тому +3

      Bu tamamı ile proje ile ilgili. Basit bir projede haberleşme hatasının sorun olmayacağı hafif trafikli sistemlerde crc kullanmak zaman kaybı olabilir. Haberleşme güvenliği düşünülüyor zamanlama on planda ise protokol veya donanım degişikliğine gidilebilir. ÖrneğinCANBus protokol gereği birçok önlem alinabiliyor ve hata yapma olasılığı çok düşük gibi avantajları var ama maliyet artıyor gibi gibi konular var. Bana gore projeye gore değişir ama ben haberleşeceğim cihaz crc istemiyorsa yapmamaya c alışıyorum. Bugun modullerde kullanılan bir çok modul crc istemiyor.

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

    hocam merhaba uarttan gelen 8 bitlik veriyi nasıl okuyabiliriz start biti ve stop biti var baud hızımız 1200 burada anlamadığım nokta şu 1 start biti, 8 data biti, 1 stop biti yani 10 bitlik verimiz var Recieve it de delay olarak 1/1200 verirsek rx e girdiğinde 1 bit okumuş olur ve rx de bir diziye atsak aynı şekilde 8 bit için aynı işlemi yapsak olur mu yoksa 10 bit olduğu için ilk ve son bit kontrolü mü yapmamız gerekir.

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

      Samet merhaba.
      Öncelikle bu haberlesmeyi hangi platformda yapacaksın? (mikro kontroller, fpga vs. ) eger fpga ile yapacaksan sana yadimci olamam. Çünkü bildiğim kadarıyla sinyal bazında uart islemini fpga de yada kontrolcude timer yardimiyla bir input pininden okuyarak yapıyorsun. Ben timer kontrolu ile bir input pini okuyarak uart yapmadım. Tasarimlarinda hep uart ozelligi olan pinleri seçtim. Benim yaptiklarimda stop biti kontrolu yada start biti kontrolu durumlariyla ugrasmadim. DR uzerinden 8 bitlik data okuma ve yazma islemi yaptim. Eğer yaptigin uygulama ile ilgili daha fazla detay verebilirsen sana daha fazla yardımcı olabilirim.

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

      @@mkaanalsancak hocam aslında mikroişlemciler final sorumdu ve uartı yetiştirememiştim şu an büte hazırlanıyorum :D Kullandığımız mikroişlemci Stm32 hal kütüphanelerini kullanarak yazıyoruz Az önce anladım ki start biti ve stop bitini direkt cubeIde üzerinden ayarlıyoruz :D finalde uartı bilmediğimden düz algoritma mantığı ile yaklaşmıştım meğersem yanlışmış... mail adresinizi atabilirseniz uart ile ilgili bir kaç soru sormak isterim. pwm, adc, input capture modlarda sıkıntım yok fakat uartı bir türlü kavrayamadım.

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

      Sayfamda linkedin linkim var oradan iletisime geçebiliriz.

  • @Fixaj
    @Fixaj Рік тому +1

    kaan hocam sizden profesyonel bir destek talebinde bulunmak için mail attım. UA-cam daki malinize bakma şansınız var mı?

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

      Merhaba, youtube'ta linkedin hesabim var oradan yazabilir misiniz?