Buradasın
STM32 ile Register Seviyesinde Veri Gönderme ve UART İletimi Eğitimi
youtube.com/watch?v=mBksjV5W-5UYapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, bir eğitmen tarafından sunulan STM32 mikrodenetleyicisi kullanarak register seviyesinde veri gönderme ve UART veri iletimi konulu bir eğitim içeriğidir.
- Video iki ana bölümden oluşmaktadır: İlk bölümde SMC4 Scary kartında register seviyesinde veri gönderme işlemi, polig yoklama yöntemi, Küba programı kullanılarak RCC ayarları ve GPIO pinlerinin alternatif fonksiyon olarak tanımlanması anlatılmaktadır. İkinci bölümde ise STM32 ile UART konfigürasyonu, karakter ve string gönderme fonksiyonları, veri alma işlemleri ve Hercules programı kullanılarak seri port üzerinden veri aktarımı gösterilmektedir.
- Eğitim boyunca matematiksel hesaplamalar, mantisa ve fraction değerlerinin hesaplanması, hız ayarları ve AFR registerları gibi teknik detaylar da adım adım açıklanmaktadır. Video, STM32 ile veri iletimi yapmak isteyenler için kapsamlı bir rehber niteliğindedir.
- Giriş ve Proje Hazırlığı
- Video, register seviyesinde birimi ile veri gönderme işlemini SMSCF dört scary kartında polig yoklama yöntemiyle gerçekleştirecektir.
- Kullanılacak ekipmanlar ve programlar belirtilmiş, bilgi kağıtları ve referans manuel yeterli olacaktır.
- Küba'dan bir proje oluşturulmuş, RCC ve sistem ayarları yapılmış, clock konfigürasyonu input frekansı 8, içse 160000000000000000000 MHz olarak ayarlanmıştır.
- 01:01Clock ve GPIO Ayarları
- RCC resistan clock kontrol registerında AP1 değeri 17 olarak ayarlanarak iki clock aktif edilmiştir.
- GPIO kulaklarını aktif etmek için RCC içerisinde CP clock aktif edilmiş, C portunda +2 pin için 0, A portunda +2 pin için 1 değeri yazılmıştır.
- Kullanılacak pinler (P2 ve P3) alternatif fonksiyon olarak tanımlanmıştır.
- 03:04GPIO Pin Ayarları
- GPIO pinleri alternatif fonksiyon olarak tanımlamak için GPIO port modu ayarlanmıştır.
- P2 ve P3 pinleri maksimum hızda çalışacak şekilde ayarlanmıştır.
- Pinlerin alternatif fonksiyon olduğunu belirtmek için AFR register'ı kullanılmıştır.
- 10:37SMCF Ayarları
- SMCF için 106 CR1 yazmacında üye biçimi 1 olarak ayarlanmıştır.
- 106 CR1E12 biti 0'a ayarlanarak 8 tane data birimi için, 1 tane start ve 1 tane stop için ayarlanmıştır.
- Veri aktarımı için BART registerı kullanılmıştır.
- 14:26BART Register Ayarları
- BART registerı ikiye bölünmüş durumda, 0-3 bitler fraction, 4-5 bitler mantissa olarak geçmektedir.
- A2'nin hangi clock hattına bağlı olduğu belirlenmiştir (AB-1 hattına bağlı, 42 MHz maksimum).
- Mantissa ve fraction değerleri hesaplanarak BART register'ına yazılacaktır.
- 18:50UART Konfigürasyonu ve İşlem
- UART konfigürasyonunda 115200 devir hızı isteniyor ve sonuç 22,70 olarak hesaplanıyor.
- İşlem sonucunda 786 değeri elde ediliyor ve bu değer 13'e yuvarlanıyor.
- Konfigürasyon için CR1 register'a 12 değeri yazılıyor ve transmit bit'i aktif hale getiriliyor.
- 23:29Karakter Gönderme Fonksiyonu
- Karakter göndermek için "uart_2_send_char" fonksiyonu oluşturuluyor ve parametre olarak karakter alınıyor.
- Fonksiyonda data register'a veri yazılıyor ve TC bit'i 1 olana kadar bekleniyor.
- TC bit'i 1 olduğunda transfer tamamlanıyor ve yeni bir karakter gönderilebiliyor.
- 26:19String Gönderme ve Alma Fonksiyonları
- String göndermek için "uart_2_send_string" fonksiyonu oluşturuluyor ve pointer kullanılarak adres arttırılıyor.
- Veri çekmek için "uart_2_receive_char" fonksiyonu oluşturuluyor ve RX bit'i 1 olana kadar bekleniyor.
- RX bit'i 1 olduğunda temp değişkenine veri çekiliyor.
- 31:22Uygulama ve Test
- Aygıt yöneticisinden COM portu seçiliyor ve USB dönüştürücü kullanılarak bağlantı kuruluyor.
- Hercules programı açılarak serial kısmına COM portu seçiliyor ve test başlatılıyor.
- Karakter gönderme ve alma işlemi test ediliyor, gönderilen karakter ekranda görüntüleniyor.