avatar_elektro77

TRANSRECEIVER KULLANIMI

Başlatan elektro77, 10 Aralık 2016, 00:52:32

elektro77

#30
dosyayı eke koydum hocam. Alıcı proton. Nedeni ise Grafik LCD kullanım kolaylığıdır.
gönderdiğim şekilde simülasyonda çalışıyor: Fakat dediğim gibi vericideki 24h ı 20h yaptığımda çalışıyor.

"Eğer bir konuyu öğrenmek istiyorsan o konunun öğretmeni ol; daha iyi öğrenmek istiyorsan o konuda bir kitap yaz; daha da iyi öğrenmek istiyorsan yazdığın kitabi oku"

elektro77

birde hocam örnekteki tus1 neden 2. kez basınca veriyi gönderiyor.
"Eğer bir konuyu öğrenmek istiyorsan o konunun öğretmeni ol; daha iyi öğrenmek istiyorsan o konuda bir kitap yaz; daha da iyi öğrenmek istiyorsan yazdığın kitabi oku"

ete

Alıcı tarafında ;
DEFINE HSER_TXSTA 20h ' Enable transmit, BRGH = 0
DEFINE HSER_SPBRG 51
değerlerini kullanmışsın. Bu combinasyonda BRGH=0 seçili. SPBRG=51 kullanabilmen için BRGH=1 olması gerekir.
Bunun için TXSTA=24h kullanman gerekir.

Kısaca hatalı register değerlerini deneme yanılma ile doğru hale getirmeye çalışıyorsun. Sonuçta doğru kombinasyonu verirsen her şey doğru çalışacaktır. Açıklama istedin sana açıklamayıda verdim ama yinede kullandığın registerdeğerleri hatalı. Çalışmamasının sebebi budur.
BRGH=0 iken SPBRG=51 değerini kullanmakla Baud Rate=2400 seçilmiş oluyor otomatikman.
Hız alıcı tarafında düşünce otomatikman Verici tarafındaki BRGH=1 olan bit değerini sıfır yaparak hızı orada da düşürmek zorunda kalıyorsun aksi halde haberleşme olmuyor. Sonuçta kusurlu olan sensin programlar ve ayarlar değil maalesef.

Vericideki buton tekbasmada veri yollamaktadır. İki kere basma gerektirmiyor bende.
Ete

elektro77

#33
51 i son anda size gönderdikten sonra  farkettim hocam.fark edeceğinizi bildiğim için de tekrar mesaj yazmadım. o değeri 24 yapsamda çalıştıramamıştım Zaten. Yada benim proton versiyonunda bür sorun arayacağım.
"Eğer bir konuyu öğrenmek istiyorsan o konunun öğretmeni ol; daha iyi öğrenmek istiyorsan o konuda bir kitap yaz; daha da iyi öğrenmek istiyorsan yazdığın kitabi oku"

elektro77

Şimdi hocam gönderdiğim örnek 51 değerini 24 yapınca çalışıyormu. Cevabınız çalışıyoru ise bende niye çalışmıyor.Nerde hata yapıyorum ben hyahu çıldıracağım.
"Eğer bir konuyu öğrenmek istiyorsan o konunun öğretmeni ol; daha iyi öğrenmek istiyorsan o konuda bir kitap yaz; daha da iyi öğrenmek istiyorsan yazdığın kitabi oku"

ete

Hala olayı anlayamadın !!!!!!
Bak ne diyorum!!!!!
SPBRG=51 kullanırsan buna karşılık BRGH=1 olmalı bu nerede yer alıyor ? TXSTA regsterinde o halde TXSTA 20h  yerine (20h verince BRGH=0 oluyor) TXSTA 24h vermen gerekir (BRGH=1 oluyor bu durumda)
Senin kadar da bu işleri sorun haline getiren birisi olmadı şimdiye kadar. !!. Multicalc programı ne güzel olması gereken değerleri veriyor. Sen neden farklı değerlerle uğraşmayı amaçlıyorsun yine anamıyorum.
51 değerini 24 mü yap diyorum sana? hayır sadece 51 kullanırsan TXSTA değerin 20 yerine 24 olmalı diyorum. Sen açıklamalarıda okumuyorsun anlaşılan.

Ete

elektro77

Benim neyi anlayamadığımı neden anlayamıyorsunuz. Okuyorum hemde düzinlerce kere okuyorum.  Anlasam zaten anlatabilirim. Anlamadığım şeyi nasıl doğru şekilde anlatmamı bekleyebiliyorsunuz hocam. Size diyorumki her şekli denedim. Her yazılımı denedim. Hatta sizin çalışan programlarınızdan aynen  kopyala yapıştır da yaptım.
"Eğer bir konuyu öğrenmek istiyorsan o konunun öğretmeni ol; daha iyi öğrenmek istiyorsan o konuda bir kitap yaz; daha da iyi öğrenmek istiyorsan yazdığın kitabi oku"

ete

Kusura bakma ama mesajlarımı açık seçik yazıyorum. Ben anlaşılır olduğu kanaatindeyim.
Şunu şöyle yap diyorum sen tersini yapıyorsun. Bu durumda ben nasıl bir düşünce yapısında olmalıyım sence.
Neyse bu konuyu kapatalım istersen.
Olması gereken şu;
Verici devren 4 Mhz de çalışıyor o halde;
DEFINE HSER_RCSTA 90h ' Enable serial port & continuous receive
DEFINE HSER_TXSTA 24h ' Enable transmit, BRGH = 1
DEFINE HSER_SPBRG 25  ' 9600 Baud @ 4MHz, 0,16%
DEFINE HSER_CLROERR 1 ' Clear overflow automatically
değerlerini kullanacaksın.
Alıcı devren 8 Mhz de çalışıyor. O halde;
DEFINE HSER_RCSTA 90h ' Enable serial port & continuous receive
DEFINE HSER_TXSTA 20h ' Enable transmit, BRGH = 0
DEFINE HSER_SPBRG 12  ' 9600 Baud @ 8MHz, 0,16%
DEFINE HSER_CLROERR 1 ' Clear overflow automatically

değerlerini kullanacaksın. Bu şekilde olmuyor ise kusuru başka yerlerde araman gerek. Binlerce defa bu işi yaptım diyebilirim. Hiç bir sorun yaşamadım. Sen yaşıyorsan dediğim gibi derleyiciden tut da bilgisayarındaki virüslere kadar her şey sorun çıkartabilir. Araştırman gerek. Bu kadar. Konuyu da kilitliyorum ki daha fazla uzamasın.

Ete

Powered by EzPortal