9 bit UART

flowchartx

Aktif Üye
Katılım
18 Ağustos 2021
Mesajlar
217
Herkese iyi günler. 2 stm32 cihazım ve bir nextion ekranım var. Bir uart haberleşme sistemi kurmak istiyorum. Bir işlemci master olacak diğerleri slave fakat işlemciler ile 9 bir haberleşmek istiyorum ama ekranın böyle bir özelliği yok. Bu yapıyı nasıl oluşturabilirim?
Cevaplayan herkese teşekkürler
 
aynı uart hattı üstünde teoride 1 alıcı RX 1 verici TX olabilir siz 1 cihaz daha eklerseniz bu uart için standart dışı bir olaydır.

şöyle bir alternatif olabilir ekran ile stm32 1 alıcı 1 verici olarak uart kullansın. stmler arasında I2C hattı kurabilirsiniz
 
Hocam şöyle master olan işlemci slave olan cihazlara veri göndericek. Slave cihazlarda veri gönderimi olmucak. Master cihaz sadece adres ve data göndericek. slaveler alıp datayı işleyip görevini yapcak. Ama sorun şu eğer 9 bit olmazsa haberleşmem gönderdiğim her veri iki cihazada gitcek. Ve slave cihazları boş yere meşgul etmiş olucam
 
aynı uart hattı üstünde teoride 1 alıcı RX 1 verici TX olabilir siz 1 cihaz daha eklerseniz bu uart için standart dışı bir olaydır.

şöyle bir alternatif olabilir ekran ile stm32 1 alıcı 1 verici olarak uart kullansın. stmler arasında I2C hattı kurabilirsiniz
I2C için boşta pinim yok hocam
 
o zaman master slaveleri 1 pin ile seçecek uart üstünde siz oluşturmazssanız adresler vs. yok tx den bir alıcıya veri gönderirsin rxden dinlersin.

adreslemeyi ve data ayırmayı yazılımsal olarak yapman gerek nextionda bunu yapman çok zor çünkü kendi standart haberleşmesi var nextionların
 
Birçok MCU'da birden fazla UART portu varken tek UART portunu iki slave ile paylaşmak bana mantıklı gelmedi.. Master MCU'da iki UART olsun, her birisi bir slave'a gitsin. 9 bit olayına gelince, en yaygın kullanılan UART protokolde 8 data biti, 1 stop biti ve no parity ayarıdır, yani zaten 9 bittir.
 
Hocam world lenght özelliğinde 8 ve 9 bit özelliği var. Yani data paketinin önüne bir bit koyuyor bunada start biti yada adres biti deniyor. Araştırmalarımdan bunları çıkardım tam emin değilim ilk defa çalışıyorum 9 bit özelliği ile. Muhtemelen imkansız gibi duruyor.

Pinim olmadığı için tek usart kullanmam gerekiyor hocam
 
Doğru anladıysam 9 data biti kullanmak (bir tanesi slave seçen) diğer slave'in meşgul edilmekten kurtarmıyor. Veri gene her iki slave'a da gidiyor. Slave'ler veriyi okuyor (ve artık meşgul edilmiş oluyor) ondan sonra adres bitinden mesajı kimin işleyeceğini anlıyorlar. İşlemeyecek olan slave mesajı çöpe atıyor.

Eğer tek bus kullanman gerekiyor ve sadece 1 slave'in mesajı almasını garantilemek istiyorsan, o zaman araya lojik gate koyarak mesajın gitmemesi gereken slave'e 1 gitmesini sağlaman lazım (eğer idle polarity 1 ise).
 
Örnek devre

1665089942781.png
 
Arduino ile başka marka bir ekran kullanmıştım. Ekrandaki dataları ve arduinodaki dataları pc ye aktarmak gerekiyordu. Arduinoda iki uart kullandım. Arduino gelen giden dataları kontrol etti. Kendisine ait olanı kullandı. Kendisine ait olmayanı ikinci uart üzerinden bypass etti.

Bu şekilde ekran yazılımı pc üzerinden güncelleme şansımda olmuştu.
 
Grafik işleri tam bir baş belası. Birkaç aydır kabuslar görüyorum bu yüzden. Akıcı bir şekilde çalışan analog power metre gerekliydi proje için, udemy yi zengin ettim grafik programı kurslarıyla. Grafik animasyon algoritmalarına kafa patlattım. Hala tam istediğim gibi olmadı, sürünmeye devam ...
 
Merhaba,
Zannederim 9. bit data olmamalı. Kontrol biti olabilir mi? STM32 hakkında bilgim yok ama 9 adet PIC18F4550 ile biri master diğerler 8 'i slave SPI protokolu ile (sanal olarak ısıs te) bir çalışma yapmış hatta 1 master + 2 sleve ile olan çalışmamın tüm kodlarını da gurubumda paylaşmıştım.
Not:Videoları geniş ekran olarak izlerseniz master dan yollanan data hangi slave e eşit ise o slave işlem yapar bitirir master'a işlem bitti feedback yollar. İlgilenen arkadaşlar olursa 2 slave 1 master çalışmamın kodlarını da paylaşabilirim.
 
Son düzenleme:
Grafik işleri tam bir baş belası. Birkaç aydır kabuslar görüyorum bu yüzden. Akıcı bir şekilde çalışan analog power metre gerekliydi proje için, udemy yi zengin ettim grafik programı kurslarıyla. Grafik animasyon algoritmalarına kafa patlattım. Hala tam istediğim gibi olmadı, sürünmeye devam ...
Merhaba,
Akıcı analog bilgi derken neyi kast ettiğinizi tam anlayamadım. 0-5 volt arası linear veya linear olmayan bir değişimi mi anlamalıyım?
 
Merhaba,
Akıcı analog bilgi derken neyi kast ettiğinizi tam anlayamadım. 0-5 volt arası linear veya linear olmayan bir değişimi mi anlamalıyım?

480x320 TFT ekran var. Üzerinde ANALOG power metre görüntüleniyor. İbrenin de titremeden, akıcı bir şekilde hareket edip gücü göstermesi gerekiyor. Düz mantıkla akla gelen yöntemler işe yaramıyor, baya takla gerekiyor :)
 
Merhaba,
TFT ekranlarının çalışma prensibi hakkında bilgim yok. Lâkin TFT ekranı kontrol eden MCU, gözün algılayacağı
hızda data yolluyorsa yani datalar arasındaki delay ler uzun ise göz bunu algılayabilir.
Ben de bu konuda yaşadığım sıkıntıları şöyle aştım. Örneğin 0-5 volt arası voltaj değişimini
ADC0804 entegresine girip 00-FF arası dijital bilgiye çeviriyorum. Bu 8 bitlik bilgiyi de PIC'in örneğin PORTB giriyorum.
Yazılımsal olarak 00-FF arası tüm byte ları tek tek kontrol edip her bir byte için anlamlı bir data atayıp PC'ye yolluyorum.
PC'deki yazdığım program da böyle bir titreme olmamaktadır.
videolarda ilk çalışmaları ile son çalışmalarım arasındaki farkı izleyebilirsiniz.
 

Çevrimiçi üyeler

Forum istatistikleri

Konular
5,833
Mesajlar
99,481
Üyeler
2,477
Son üye
krmz

Son kaynaklar

Son profil mesajları

gruptaki arkadaşlara selamlar. sıteyi bu gün fark ettim. Asansör için 2x7 segment LCD gösterge üretmek istiyorum. acaba bu sayfadaki arkadaşlardan destek alabilirmiyim. LCD nin mantık açılımı ektedir.
deneyci wrote on TA3UIS's profile.
Selam.
Amatör telsiz lisansı nasıl alınıyor?
Lisansı olmayanı forumlarına almıyorlar. :)
Bilgi alamıyoruz.
cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Back
Top