Yapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, bir eğitim içeriği olup, konuşmacı STM32F72RBT6 işlemcisi üzerinde UART DMA (Direct Memory Access) kullanımını göstermektedir.
- Video, önceki seride kullanılan pol yönteminin yerine DMA ile UART haberleşme uygulamasının nasıl yapılacağını adım adım anlatmaktadır. İçerikte STM32F72RBT6 Nükleo kartı üzerinde UART4 pininin ayarlanması, DMA yapılandırması, buffer boyutu belirleme, RX ve TX DMA fonksiyonlarının yazılması ve test edilmesi gösterilmektedir. Ayrıca, gelen verilerin doğru şekilde buffer'a yazılması için gerekli kod değişiklikleri ve iki taraflı haberleşme (hem RX hem TX) uygulaması da detaylı olarak anlatılmaktadır.
- 00:05UART Uygulaması Tanıtımı
- Video, UART uygulaması gerçekleştirmeyi amaçlıyor.
- Önceki video serisinde pol yöntemi kullanılmış, ancak bu yöntemde kaç byte veri gelmesi gerektiğini bilmek gerekiyordu.
- Bu videoda UART ve DMA (Direct Memory Access) kullanılarak hattın boşa çıkana kadar veriler buffer'da toplanacak.
- 00:42STM32F72RBT6 işlemcisinin Ayarları
- STM32F72RBT6 işlemcisinin Nükleo kartı üzerinde Arduino pinleri bulunuyor ve P01 pinleri UST4'e tekabül ediyor.
- UART4 asenkron modda, transmit ve receive mod olarak ayarlanıyor.
- Clock konfigürasyonu, copy onyedi lif ve GP dur ayarları yapılarak kod generate ediliyor.
- 02:28Değişkenlerin Tanımlanması
- Buffer boyutu 50 olarak belirleniyor, bu değer hafızanın boyutuna bağlı olarak arttırılabilir.
- Integer 8T1 alex buffer dizisi oluşturuluyor ve boyutu buffer size olarak belirleniyor.
- UART4 için DMA ve interrupt ayarları yapılıyor.
- 03:46UART Haberleşme Fonksiyonlarının Ekleme
- UARTX kısmından HAL_UART_ReceiveToIdle_DMA fonksiyonu kopyalanıp fonksiyonlar kısmına ekleniyor.
- RX buffer ve RX buffer size değişkenleri tanımlanıyor.
- HAL_DMA_Disable_DMA4X_DMA_Interrupt_Half_Transfer fonksiyonu ile transferin yarısında kesmeye girmemesi sağlanıyor.
- 05:12Hat Boşa Çıktığında İşlem
- UART source dosyasından event callback fonksiyonu kopyalanıp begin içerisine yapıştırılıyor.
- Eğer UART instance USART4 ise hat boşa çıktığı anlaşılıyor.
- Hat boşa düştüğünde DMA ayarları sıfırlanıyor ve veriler tekrar baştan başlatılıyor.
- 07:52Uygulamanın Çalıştırılması ve Test Edilmesi
- Yazılım derlendikten sonra run'a basılıyor ve Hercules programı kullanılarak test ediliyor.
- 9600 byte hızında veri gönderildiğinde, her gelen veri sıfırıncı indeksten itibaren başlıyor.
- Önceki veriden kalan verileri temizlemek için for döngüsü kullanılarak buffer sıfırlanıyor.
- 10:50Transmit Fonksiyonu ve İki Taraflı Haberleşme
- Transmit fonksiyonu ile bir saniyede bir "Merhaba" string verisi gönderiliyor.
- Hem veri alınıyor hem de veri gönderilebiliyor, böylece iki taraflı haberleşme sağlanıyor.
- Gelen verilerin işlenmesi için haberleşme tamamlandığını belirten bir değişken tanımlanabilir.