2 PIC Arası seri port(uart) haberleşmesi

Başlatan osmancns, 26 Kasım 2014, 15:34:02

osmancns

Merhaba arkadaşlar.
PIC ile seri port üzerinden C# ile veri okuyabiliyorum o konuda bir sıkıntı yok. ancak bunu 2 pıc arasında seri port haberleşmesi olarak yapmam lazım.
devre ve program isis de sağlıklı veri gönderiyor.ancak deneme kartı üzerinde aynı değerler saçma karakterlere dönüşüyor. "#use rs232 (baud=9600, xmit=pin_C6, rcv=pin_C7, parity=N, stop=1, bits=8) kontrolü putc, getchar,printf("%c",cnt3); " gibi bir çok kontrol üzerinde oynama yaptım ancak düzelmedi . sorun ne olabilir acaba ?

Ayrıca master PIC'in gönderdiği aynı anda c# ile kontrol ettiğimde doğru gönderdiğini görebiliyorum.sıkıntı slave olan PIC'de.
Master PIC'in osilatorü 4 000 000
slave PIC'in osilatorü 20 000 000

Salih

Deneme yaptığın programları ve şemayı yayınlarsan üzerinde yorum yapabiliriz.

Kabil ATICI

slave pic üzerine bilgisayardan gönder.

program olabilir, bir telin temassızlığı olabilir, seri port hata olayı olabilir.  (UART olayında gereken saat sistem saati bölünerek geliyor,  küsuratlı sayılar olduğu zaman tamsayı alınıyor, eğer  hata fazla olursa UART haberleşmesinde veri kayması kaçınılmaz oluyor.)
ambar7

osmancns

sorunu çözdüm arkadaşlar teşekkür ederim.
master kısmında kart üzerinde kristal 20 mhz olmasına rağmen programda 40 000 000 hz olarak tanımlamışım gözümden kaçmış onu 20 000 000 hz yapınca sorun çözüldü