rs232 iletiminde kitlenme

Başlatan skara1214, 03 Ocak 2012, 20:32:56

skara1214

Alıntı yapılan: SpeedyX - 05 Ocak 2012, 02:56:02
CCS kullaniyorsan #USE kismina ERRORS ekle yada oerun bitini kontrol edip usart i resetle.
dediğinizi yaptım ve çalıştı errors komutu eklemem yeterli oldu.
Alıntı yapılan: SpeedyX - 05 Ocak 2012, 02:56:02
Forumlarda ezbere ogrenilen cozumlerle ve onun bunun kod kutuphanesini kullanarak yapilan urunlere biz kullanicilar nasil guvenecegiz? Kisisel almayin, genelleme yapiyorum.
Problem çıkıyor bende soruyorum sağolun yardım ediyorsunuz fakat anlamadığım nokta forumları bu amaç dışında ne amaçla kullanmamız gerekiyor?
Herkes ölür ama herkes gerçekten yaşamaz

SpeedyX

Forumu kullanma amacinizda sorun yok, sorun USART modulunun aktif pasif edilebilecegini bile bilmeden benim hap niyetine verdigim seyi kullanip cozum bulmaniz. Bu islemcinin nasil register lari nasil kontrol bitleri var, asil onemli olan seyleri bilmeden ortaya urun cikarmak tehlikeli. Ya ERRORS un bir yan etkisi varsa? Oysa USART modulunu kullanan bir teknik adam overrun olayini cok iyi sindirmis olmaliydi, siz daha yeni duyuyorsunuz. Problem burada. CCS i birakip microchip derleyicisine gecin yada CCS built-in fonksiyonlarini hic kullanmayin, bunlari zorla ogrenmeniz gerekeceginden yaptiginiz projelerin her noktasindan emin olacaksiniz, CCS sizi tembellestirip ezberci yapmis, bundan kurtulmaniz gerekiyor.

skara1214

Alıntı yapılan: SpeedyX - 05 Ocak 2012, 12:22:36
Forumu kullanma amacinizda sorun yok, sorun USART modulunun aktif pasif edilebilecegini bile bilmeden benim hap niyetine verdigim seyi kullanip cozum bulmaniz. Bu islemcinin nasil register lari nasil kontrol bitleri var, asil onemli olan seyleri bilmeden ortaya urun cikarmak tehlikeli.
Bu mesaja 4-5 kişi cevap vermiş 209 kişi görüntülemiş hiçbirisi bunu söylemedi siz söylediniz cevabını demekki o kadarda yaygın bilinen birşey değilmiş.Bana başkalarının kütüphanelerini kullanma diyorsunuzda sizde microchipin kütüphanelerini kullanıyorsunuz tek fark ben biraz fazla kütüphane kullanıyorum siz az kullanıyorsunuz.CCS ye güvenmeyin diyorsunuz microchipin kütüphanelerine nasıl güvenelim o zaman oturup pic library sini yazmıyoruzya kendimiz bir compiler yazarak.Dünya çapında firma ccs dediğiniz.Ama tembelleştirdiği konusunada katılıyorum mesele ortasını bulmak isterseniz ccs dede register tanımlamaları yapıp ayarlayabilirsinizki  ki zaten 33f serisi için dac ve adc uygulamarını yapıp burada paylaşmıştım.Neyse bu konu çok uzadı bence biraz fazla abartıyorsunuz deyip konuyu burada sonlandırmak istiyorum yardımlarınız için teşekkür ediyorum
Herkes ölür ama herkes gerçekten yaşamaz

FEHMİ_ASM

#18
Alıntı yapılan: skara1214 - 04 Ocak 2012, 17:29:00
önceliğim iş yaparken gelen veriyi almamak bunun çözümünü arıyorum

    Sanırım bunu algoritmaya birkaç eklenti yaparak halledeceksiniz.

    Gelme kesmesi oluştu deyelim (RCIE ve izinler açık iken RCIF 1 oldu yani). Pıc doğal olarak hemen Kesme Alt Programına gidecek. Siz de kesme alt programının tam bu noktasında, RCIE bitini Ljk-0 yaparak, kesmeyi erteleyin. (Ancak buffer'ı okumayınız).  Şimdi PIC işine devam edebilir. Pıc'in işini tam bitirdiği satırda RCIE'yi Ljk-1 yapın. Buffer'ı da burada okuyabilirsiniz. Ve en önemlisi, bu Pic'e Kesme oluştuktan sonra -- Buffer'ı okuyuncaya dek veri gelmemesi daha uygun olur.

skara1214

hocam o meseleyi errors komutuyla çözdüm.Ama madem konu devam ediyor yine ilginç bir sorunla karşılaştım bunu belirteyim.Ftdi ile bağlantılımı tam bilemiyorum ama ilk iletişim kurulduğunda pice 2 harften büyük bir string yollarsanız bunu düzgün algılamıyor ve 2. veriyi düzgün algılıyor.Errors komutu kullanılıncada heralde usarta  reset atıyor(elektrik gidip gelmiş gibi) ve ilk gelen komutu almıyor. eğer  tek harf falan yollanırsa sıkıntı yok ama 3 harfli birşey yollarken düzgün yollamıyor pic bunu algılamıyor 2. yollanan veriyi algılıyor.Bununla ilgili fikriniz varmı?
Herkes ölür ama herkes gerçekten yaşamaz

SpeedyX

CCS e guvenmeyin demedim ki. Pek anlayamamissiniz.
Tavsiye niteliginde ve tecrubeyle sabit bir mesaj yazdim, anlayan anlamistir, kimsenin sahsina degil, boyle yapan herkese yazdim.
Ayrica microchip kutuphanesi vs kullanmiyorum, PIC ile sadece es dosta yardim amacli basit devre yaparim, bildiklerim tamamen genel kultur ve eskiden hatirladiklarim.
Faydali seyler soyledim ama once anlamak gerek. Ben bu sekilde yapilmis urunlere guvenip satin almazdim, millet olarak biraz ozelestiride bulunup kendimizi gelistirmeliyiz bence.
Kolay gelsin.

FEHMİ_ASM

#21
  Hocam CCS ve komut setini bilmediğim den son sorduğunuz soruyu cevaplayamayacağım.

  İki veya üç byte ardarda gönderdiğinizde verinin doğru değerlendirilmeyiş sebebiniz, veri alma kontrolünü doğru yapamadığınızdan kaynaklanabilir. TXREG çift tamponlu bir bellektir. Hatta TSR ile üç sayılır. Ama TSR dolduğunda üstüne yazma hatası oluşur (Hatta TSR dolana kadar RCIF çoktan Ljk-1 olmuştur). İşte bu sebepten iki veya daha fazla harf (byte demek istediniz sanırım) gönderdiğinizde okunamayabilir, hatta hatalı okuma oluşabilir.

  Denemelerinizi gerçek ortamda yapıyorsunuz sanırım. ISIS ile denemenizde fayda olacaktır mutlaka.
 
  Bir de her iki tarafın iletişim parametreleri (hız ve veri genişliği falan) aynı olmalı.

skara1214

Alıntı yapılan: SpeedyX - 05 Ocak 2012, 02:56:02
onun bunun kod kutuphanesini kullanarak yapilan urunlere biz kullanicilar nasil guvenecegiz?
Bunları siz yazıyorsunuz,sonrada anlamayan ben oluyorum.Kaç mesajdır alttan alıyorum ama sizde tipik bir türk olarak alttan alınca iyice üste çıkma politikası uyguluyorsunuz.Bunu daha önce fx devede söyledim.Çocuk azarlar gibi yardım etmenizin bir faydası yok eğer datasheeta bakmadığımı düşünüyorsanız yada gerekeni yapmadığımı düşünüyorsanız yardım etmeyin buda sizin en doğal hakkınız.
Herkes ölür ama herkes gerçekten yaşamaz

SpeedyX

Ben bunlarin hepsini direkt size yazmadim, zaten bu konuda kutuphane kullanilmiyor. Yazida mimik belirtilemediginden de azarlama gibi anlasiliyor demek ki.

Netten bulma, birinden duyma yanlis, hatali kod ve semalarla urun yapip satan insanlar goruyorum, bu hic hos degil.

Datasheet herzaman acik olsun ve surekli inceleyin. Registerlari direkt tanimlayip kullanin, donanim hakimiyetinizi kaybetmeyin.

Bu konu vesilesiyle bu durumlara sitem ediyorum sadece.
Simdi anlasildim mi?

KABO

diyode koyma olayı cok uygun.diode koymadan rs232 ye ikitane işlemci baglanamaz.Bence Bu konuda yapılacak en uygun secenek,saglam bir protokol olusturmak.sorun yazılımsal.ben aynı işlemi 8051 de yaptım sorunsuz bir şekilde çalıştım.iyi bir protokol hazırlarsan sende sorunsuz bir şekilde haberleştirebilirsin.
BILGI PAYLASTIKCA COGALIR...