iki pic arası seri haberlesme nasıl yapılır ccs

Başlatan zamzam23, 17 Mart 2011, 14:07:04

zamzam23

şimdi arkadaslar
iki pic var. bunlar arasında seri haberlesme yapmak ıstıyorum. yapmam gereken tam olarak şu: 1.pic "istanbul" u gönderecek
2. pic bunu alıp lcd de gösterecek

takıldııgm nıkta seri haberlesme.
mesela istanbul kelımesı harfler tek tek gonderılıyor ben bunları nasıl alıp bırlestırmelıyım?

arastırdım bıraz fgetch var getch var bunların hangısını kullanıcam?

birde donanımsal olarak iki pic i birbirine balarken direkt baglanabılır mı yoksa arada direnc pullup 100nf falan olmalımı

ogoculu

gönderirken göndereceğin dizinin başına ve sonuna tanımlama verisi koyman gerekir
printf("XISTANBULY") yazman yeterli fakat alırken her gelen karakteri tek tek alırsın, bunun en basit yolu kaydırma işlemidir.
seri port rx kesmesini açarsan en basit haliyle;

unsigned int a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,veri_ok;

#int_RDA
RDA_isr()
{
unsigned int a;
unsigned long b;
   veri_ok=0;
   a1=a2;
   a2=a3;
   a3=a4;
   a4=a5;
   a5=a6;
   a6=a7;
   a7=a8;
   a8=a9;
   a9=A10
   A10=getch();
   if(a1 !='X') return;              // ilk veri "X" olana kadar bu adımdan geri döner
   if(a10 !='Y') return;            // son veri "Y" olana kadar bu adımdan geri döner
   veri_ok=1;
}

veri_ ok değişkeninin 1 olması durumunda dizimiz tamamlanmış demektir. geriye sadece aldığın bu değişkenleri if komutu altında  ekrana yazdırmak kalıyor.

eğer iki pic arasında mesafe fazla ise max232 kullanman gerekir.
umarım işine yarar.


zamzam23

saol.peki bir sorum daha olacak.iki pic teki t r leri bırbırıne baglarken direkt mı bağlamalıyım yoksa arada yukseltec olmalı mı? mesafe 1m.

fahri-

gürültüsüz ortamsa direk bağlayabilirsin çalışır.

kudretuzuner

Merhaba
Seri haberleşmede datalar 1 byte'lık paketler halinde gider ve de alınır.Ben size bunun bir basit çalışma mantığını gösteren özgün bir çalışmamı yollayayım.İsis devresinde açıklayıcı bilgiler de var.Özellikler Paketler yollanırken görülsün diye araya uzun gecikmeler koydum.
http://hotfile.com/dl/106238404/0f9c09f/PIC_TO_PIC.rar.html
Amatör

zamzam23


zamzam23

peki gürültülü ortamda calısması için bağlantı nasıl olmalı?

kudretuzuner

Merhaba
Profesyonel olarak nasıl yapılır bilmiyorum ama prensip olarak PIC'leri gürültülerden korumak için optokaplır ile izole edilmesi gerektiğini biliyorum.Hatta ben  tasarlasam PIC  sistemini tamamen izole etmek için beslemesini dahi ayrı tasarlarım.
Amatör

Salih

Alıntı yapılan: zamzam23 - 04 Nisan 2011, 13:06:01
peki gürültülü ortamda calısması için bağlantı nasıl olmalı?
En iyisi ve sağlamı RS485 donanımına geçmektir. Endüstriyel ve uzun mesafelerde güvenle kullanılır.

Erol YILMAZ

Alıntı yapılan: salih - 04 Nisan 2011, 15:21:10
Alıntı yapılan: zamzam23 - 04 Nisan 2011, 13:06:01
peki gürültülü ortamda calısması için bağlantı nasıl olmalı?
En iyisi ve sağlamı RS485 donanımına geçmektir. Endüstriyel ve uzun mesafelerde güvenle kullanılır.
,

Daha da iyisi öğrenip uygulayabilirseniz CANBUS'tır.
Gönderilen bi datanın yanlış  gitmesinin mümkünatı yok  ::)

mufitsozen

Alıntı yapılan: Allegro - 04 Nisan 2011, 17:15:45
Alıntı yapılan: salih - 04 Nisan 2011, 15:21:10
Alıntı yapılan: zamzam23 - 04 Nisan 2011, 13:06:01
peki gürültülü ortamda calısması için bağlantı nasıl olmalı?
En iyisi ve sağlamı RS485 donanımına geçmektir. Endüstriyel ve uzun mesafelerde güvenle kullanılır.
,

Daha da iyisi öğrenip uygulayabilirseniz CANBUS'tır.
Gönderilen bi datanın yanlış  gitmesinin mümkünatı yok  ::)

CANBUS ile ilgili itirazim var! ;)

Benim anladigim kadari ile birden fazla PIC'i endustriyel bir ortamda haberlestirmek icin bir standard bakiyorsun. CANBUS (yada OBD-II yada EOBD) nispeten yeni (>1983) olmasina ragmen gereksiz karisiklikta oldugundan bence bu is icin 4 numara buyuk gelir, sanada hicbir ek fayda saglamaz.

Halbuki rs-485 cilali tas devrinden beri, endustriyel ortamlarda kullanilmak uzere hazirlanmistir. Haberlesme sirasinda ekleyecegin basit error checking vb kodlari ile 100k bit hizinda 1Kmye kadar haberlesmekte kullanirsin. interface chipleri ucuz ve cok basittir, vs

Kolay gelsin.
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

Erol YILMAZ

CANBUS çok basit değildir.

Yalnız RS485 iletişim ortamı için protokol hazırlayıp, iyileştirip
ve sağlam bir haberleşme için 6 ay da düşünsek ortaya çıkan şey en fazla
CANBUS olur.

Tmm 2 pic arası için biraz abartı olabilir :)))

mufitsozen

Alıntı yapılan: Allegro - 04 Nisan 2011, 18:03:54
CANBUS çok basit değildir.

Yalnız RS485 iletişim ortamı için protokol hazırlayıp, iyileştirip
ve sağlam bir haberleşme için 6 ay da düşünsek ortaya çıkan şey en fazla
CANBUS olur.

Tmm 2 pic arası için biraz abartı olabilir :)))

Bunada itirazim var  :D

6 ayda rs-485 ile baslayip CANBUS yazabilen birinin isini gucunu birakip MIT yada Stanford'da doktora yapmak uzeren yola cikmasi gerekir. Vatana ve millete faydasi bu sekilde daha cok  olur. Yoksa Allah vergisi kabiliyet ve becerisini kotu kullanmis olur.  ;)
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

Erol YILMAZ

Alıntı yapılan: mufitsozen - 04 Nisan 2011, 18:07:48
Alıntı yapılan: Allegro - 04 Nisan 2011, 18:03:54
CANBUS çok basit değildir.

Yalnız RS485 iletişim ortamı için protokol hazırlayıp, iyileştirip
ve sağlam bir haberleşme için 6 ay da düşünsek ortaya çıkan şey en fazla
CANBUS olur.

Tmm 2 pic arası için biraz abartı olabilir :)))

Bunada itirazim var  :D

6 ayda rs-485 ile baslayip CANBUS yazabilen birinin isini gucunu birakip MIT yada Stanford'da doktora yapmak uzeren yola cikmasi gerekir. Vatana ve millete faydasi bu sekilde daha cok  olur. Yoksa Allah vergisi kabiliyet ve becerisini kotu kullanmis olur.  ;)

En fazla dedik zaten :)))

picmanya

ethernetin pahalı olmasından başka, dez avantajı bu tür bir iş için ne olur.