Picproje Elektronik Sitesi

DERLEYİCİLER => Hi-Tech => Konuyu başlatan: yucelll - 16 Nisan 2008, 19:15:07

Başlık: PIC C seri iletişim ile ilgili yardım !!
Gönderen: yucelll - 16 Nisan 2008, 19:15:07
Selam PIC C üstadları.
Ben yeni üyeyim.Hep boşu boşuna kitap almışım kitapda hiç örnek yok.
Neyse seri iletişim denemeleri yaptım ama sadece printf("") komutunu biliyorum.

Şimdi sormak istediğim soru şu:
Ben hyper terminale A yazınca portbdeki led yansın.
B yazınca ise de sönsün ???

Yani bunu yazmaya çalıştım uğraştım felan yapamadım.
Aslında soracak daha çok sorum var ama yavaş yavaş :)
Başlık: PIC C seri iletişim ile ilgili yardım !!
Gönderen: mucitotomasyon - 17 Nisan 2008, 11:51:39
slm hocam anlasılan birazugraşmısın kodlarını ver   ona ögre mantıksal hatan varmı bakalım  yani aslında co kolay birşey
Başlık: PIC C seri iletişim ile ilgili yardım !!
Gönderen: yucelll - 17 Nisan 2008, 14:03:47
Kardeş çok denedim ama sildim hep yok şuan aklımda değil.
Yaw yazıverseniz olmaz mı ? Yani en azından mantığını öğrensemde olur  :?
Başlık: PIC C seri iletişim ile ilgili yardım !!
Gönderen: Erol YILMAZ - 17 Nisan 2008, 14:51:53
Alıntı yapılan: "yucelll"Kardeş çok denedim ama sildim hep yok şuan aklımda değil.
Yaw yazıverseniz olmaz mı ? Yani en azından mantığını öğrensemde olur  :?

RS232 den gelen bilgi
A ise YAK
B ise SONDUR.

kısaca mantığı bu. Kodu ise kullandığın derleyiciye göre değişiyor.
Başlık: PIC C seri iletişim ile ilgili yardım !!
Gönderen: yucelll - 17 Nisan 2008, 16:42:21
Hocam haklısınız ama yapamadım yaw. :?
Bakın yazdığım kod bu ama çalışmıyor.
Alıntı Yap#include <pic.h>
#include <delay.c>
#include <serial.c>
#include <stdio.h>

main(void)
{
   char A;
   char B;
   putch(A=getch());
   putch(B=getch());

   TRISA=0;
   while(1){
   if(RxData = A)
   RB7=1;
   else
   if(RxData = B)
   RB7=0;
   }
   
   
}
   

Isısda deniyorum A yazıyorum b portunun bütün portları değişiyor. B yazıyorum bu sefer a portu değişiyor ve öyle kalıyor.Anlamadım !
Başlık: PIC C seri iletişim ile ilgili yardım !!
Gönderen: hiashua - 18 Nisan 2008, 15:50:21
void main(void)
{
while(1)
{
if(getch()=='A'){

RB7 = 1;
}
else if(getch()=='B'){

RB7 = 0;
}

}
}


Bide bunu dene derlemedim değiştirilmesi gerekebilir. Sen putch() fonksiyonunu kullanıyorsun putch demek karakter koy demektir. getch yani karakter elde et fonksiyonunu kullanacaksın.
Başlık: PIC C seri iletişim ile ilgili yardım !!
Gönderen: yucelll - 18 Nisan 2008, 18:42:08
Kardeş çok sağol ama denedim yine olmadı
Başlık: PIC C seri iletişim ile ilgili yardım !!
Gönderen: arslan74 - 19 Nisan 2008, 00:31:00
Merhaba,

Hi-Tech kendi samples klasöründe bununla ilgili örnek kodlar var. Onları neden kullanmiyorsunuz?

Selamlar
Başlık: PIC C seri iletişim ile ilgili yardım !!
Gönderen: yucelll - 19 Nisan 2008, 02:51:27
kardeş işte serial.c var ordanda bişey anlayamadım o da zaten #include <serial.c> adında ekli
Başlık: PIC C seri iletişim ile ilgili yardım !!
Gönderen: yucelll - 19 Nisan 2008, 18:03:26
anlaşıldı yardım eden yok ! Nabalım başımızın çaresine bakacaz artık !  :!:
Başlık: PIC C seri iletişim ile ilgili yardım !!
Gönderen: arslan74 - 19 Nisan 2008, 20:09:11
Alıntı yapılan: "yucelll"anlaşıldı yardım eden yok ! Nabalım başımızın çaresine bakacaz artık !  :!:

Merhaba,

Burada size herkez size yardım eder.

Ancak sorun şuki, bu bahs ettiğiniz konu birkoç kez sorulmuş ve cevaplanmıştır. Aynı soruyu tekrar kimse cevaplamak istemez, oysa siz biraz kendiniz zahmet edip forumu iyi araştırmış olsaydınız, bu sorunuzun cevabını mutlaka bulurdunuz. En basidinden arama modunu bile kullansanız sonuca ulaşırdınız.

Ama bu zahmete girmeyib, yardım eden yok derseniz, bu forumda üye olan arkadaşlarınımıza haksızlık etmiş olursunuz.

Bu sözlerim başınıza çare olması dileğimle.

Selamlar
Başlık: PIC C seri iletişim ile ilgili yardım !!
Gönderen: yucelll - 20 Nisan 2008, 01:09:16
Kardeş öyle diyorsun ama nerden biliyorsun aramadığımı daha ilk üye olduğumda aradım 20 tane mesaj çıktı ve hepsini okudum.
Hepsinde 16f877 Usart.C kullanılmış ve ben 16f84a serial.c kullanıyorum.
Doğal olarak anlamadım.Bende bu konuyu açmaya karar verdim.
Kod istediler verdim yine sağolsun 2-3 arkadaş en azından baktı.
Bende bekledim bekledin işte bir sen bir de 2 arkadaş cevap yazdı.
Başlık: PIC C seri iletişim ile ilgili yardım !!
Gönderen: arslan74 - 20 Nisan 2008, 01:30:45
Alıntı yapılan: "yucelll"Kardeş öyle diyorsun ama nerden biliyorsun aramadığımı daha ilk üye olduğumda aradım 20 tane mesaj çıktı ve hepsini okudum.
Hepsinde 16f877 Usart.C kullanılmış ve ben 16f84a serial.c kullanıyorum.
Doğal olarak anlamadım.Bende bu konuyu açmaya karar verdim.
Kod istediler verdim yine sağolsun 2-3 arkadaş en azından baktı.
Bende bekledim bekledin işte bir sen bir de 2 arkadaş cevap yazdı.

Merhaba,

Şimdi yazdığınız cevabı en başta yazmış olsaydınız. Coktan yanıt alırdınız. Eksik bilgi verdiğiniz için istediğiniz cevabı alamamışsınız.

Cevap olarak sunları önerebilirim.

Ben başta 16F84 cok eski bir işlemci. O artık kalktı diyebilirim. bu işlemciyi yeni örenmeye başlayan öğrencilerin kullaniyor ve kaynak olarakta 5 - 10 yıllık dökümanı kullandığından o zamanda 16f628 olmadığı için bütün örnek kodları onula gösteriyorlardı.

En başta 16f84de donanımsal usart yok. O yüzden bu verdiğniz kodlar 16f84 de çalışmaz. danımsal usartı olan bir modülü kullanmanızı tavsite edeceğin. Sizin için en uygunu 16f628 ürünü uygundur. içinde donanımsal usart modülü var. hafıza ve ram kapasitesi ve port sayısı daha fazla. Fiyat olarakta 16f84den ucuz.

O ürünü kullanırsanız. Sorunuz halledilmiş olur.


Selamlar
Başlık: PIC C seri iletişim ile ilgili yardım !!
Gönderen: yucelll - 20 Nisan 2008, 02:22:03
Tamam kardeş o zaman öyle yapayım ya şu an elimde 84a vardı ondan dolayı ben de habire uğraşıp duruyorum.Neyse kardeş sağolasın cevapların için
Başlık: PIC C seri iletişim ile ilgili yardım !!
Gönderen: SpeedyX - 20 Nisan 2008, 02:24:15
Alıntı yapılan: "yucelll"Kardeş çok denedim ama sildim hep yok şuan aklımda değil.
Yaw yazıverseniz olmaz mı ? Yani en azından mantığını öğrensemde olur
Alıntı yapılan: "yucelll"Kardeş öyle diyorsun ama nerden biliyorsun aramadığımı daha ilk üye olduğumda aradım 20 tane mesaj çıktı ve hepsini okudum.
Hepsinde 16f877 Usart.C kullanılmış ve ben 16f84a serial.c kullanıyorum.
Doğal olarak anlamadım.Bende bu konuyu açmaya karar verdim.
Kod istediler verdim yine sağolsun 2-3 arkadaş en azından baktı.
Bende bekledim bekledin işte bir sen bir de 2 arkadaş cevap yazdı.
Bunu yapmak için hiçbir yere üye olmanıza gerek yok,
http://www.microchipc.com/sourcecode
burada hepsi var,
web sayfanızdaki göstermelik yaptığınız şeyleri görünce bunu da yapabileceğinizi düşünüyorum, size yazılımsal usart gerekiyor.

(dediğiniz gibi) mantığını öğrenmekten çok, hazır bir projede değişiklik yapmak istiyorsunuz gibi anlaşılıyor. Yoksa serial.c de diretmezsiniz.
Başlık: PIC C seri iletişim ile ilgili yardım !!
Gönderen: yucelll - 20 Nisan 2008, 02:43:43
Soktuğun laflar için ve verdiğin site için çok sağol !

Ben C ye yeni geçtim ve sitemde C ile yapılmış bir tek havada kayan yazı var.
Dediğin gibi hazır projeyi geliştirdirdim 2 renk yaptım.
Yani önemli olan bilmemek ayıb değil, sormamak (öğrenmemek) ayıb kardeş.
Gerisinde PIC bile kullanılmadı.
Amacımız bişiler öğrenmek.
Hiç kimse doğuştan C dilini bimez yani !
Başlık: PIC C seri iletişim ile ilgili yardım !!
Gönderen: ferdem - 20 Nisan 2008, 12:03:06
Yücel bey siz çalışmalarınıza devam ediniz, biz takıldığınız yerde yardımcı olmaya çalışırız. Bilgisayar-PIC arasındaki iletişimden önce iki PIC arasında iletişim denemeleri yapmalısınız, buna da önce Proteus ta "simüle" ederek başlamalısınız . Bunu yapmadan bilgisayarla haberleşme uygulaması biraz zor olur. Adım adım gitmek lazım. Bakınız arkadaşımız adım adım gidiyor:
https://www.picproje.org/index.php/topic,20147&highlight=&sid=1e34f0a493fd681af5bbb0395e97996a
İlk adım olarak bu başlığı takip edebilirsiniz. İyi çalışmalar.
Başlık: PIC C seri iletişim ile ilgili yardım !!
Gönderen: yucelll - 20 Nisan 2008, 13:52:38
sağol kardeş baktım biraz ama anlamaya başladım biraz
Başlık: PIC C seri iletişim ile ilgili yardım !!
Gönderen: SpeedyX - 20 Nisan 2008, 15:21:30
Oraya bakmayacaksınız, orada sadece insanların nasıl adım adım ufak parçalar halinde gittiklerini anlayacaksınız.

http://www.viddata.com/libraries.htm
Burada aradığınız hazır kütüphaneler var. Onlara bakıp anlamaya başlamanız gerekiyor, baktığınız yerde #use rs232 diyerek işi bitiriyor derleyici. Sizin çalıştığınız derleyici bunu yapmıyor.

Sizin yapmanız gereken işin mantığını anlamaksa,
eğer haberleşme hızınız 9600 baud ise 1/9600=104us bekleme süresi,
* bir karakter göndermek için;
Start biti gönderilir
104us beklenir
ilk veri biti gönderilir (LSB)
104us beklenir
ikinci veri biti gönderilir
104us beklenir
.
.
Stop biti gönderilir
104us beklenir

* 16F84 4mhz de çalışıyorsa, 1us komut işleme süresi ise
bekle
movlw 0x22 ;1us
movwf d1 ;1us
decfsz d1, f ; 34*3us+1
goto $-1 ;
return ;2us

gibi bir bekleme rutini yazdıysanız, 1+1+34*3+1+2=107us bekleme yapabilirsiniz, bu hata payı önemli midir önemsiz midir..

* Eğer 8 bit gönderiyorsak (9600-8-N-1), saniyede 9600/8=1200 karakter gönderebiliriz....

* Tabii birde bu işin fiziksel boyutu var, mesela UTP CAT-5 kabloda 30,5cm başına ~17pF hat kapasitesi vardır. 15 metre kablo kullansanız hat kapasitesinden dolayı gönderilen veri bozulur, algılanamaz hale gelir...
....
....
gibi şeyleri anlamaya başlamanız gerekiyor C dilinden önce. Sonra bunları C dili ile zaten yaptırmanın yolunu bulursunuz.

"Hiç kimse doğuştan C dilini bimez" ama bazıları Türk dilini bile bilmiyor.
Başlık: PIC C seri iletişim ile ilgili yardım !!
Gönderen: yucelll - 20 Nisan 2008, 15:42:09
Kardeş yardımın için sağol da benle ne alıp veremediğin var onu anlayamadım ? Söyle bileyim yani.

Arkadaşın verdiği link CCS C zaten.

Zaten konu da dağıldı.Yani sorduğumla, aldığım arasında dağlar kadar fark var.

İsterseniz kapatabilirsiniz bu konuyu böyle olmucak.
Beni hiç bişe yazmamış kabul edin.
Bu arada ben Türklüğümle gurur duyuyorum kardeş herkez de duyar yani
Eywallah !
Başlık: PIC C seri iletişim ile ilgili yardım !!
Gönderen: SpeedyX - 20 Nisan 2008, 23:58:09
Konu kapatmak gibi birşey yok, devam ediniz.
Başlık: PIC C seri iletişim ile ilgili yardım !!
Gönderen: karinca - 15 Mayıs 2008, 06:27:04
dostum c diline yeni el attim
bende benzer bir projeyle ugrasiyorum
A ve B ye bastiginda ascii kodu olarak gidiyor
putch(A) diye birsey kullanamazsin onun yerine A nin ascii kodu olan decimal 65 kullanmalisin
ascii kod tablosunu rahatlikla bulabilirsin
birde oyle dene