rs232 pic16f877 haberleşme sorunu

speedy1989

Üye
Katılım
29 Eki 2009
Mesajlar
27
Puanları
1
Yaş
35
dk9jd.png

Kod:
/******************************************************
      PIC16F877 ile RS232 Seri İletişim Uygulaması
PIC PROG/DEKA     : Port B jumper'ı LCD konumunda olmalı
*******************************************************/

#include <16f877.h>     // Kullanılacak denetleyicinin başlık dosyası tanıtılıyor.

// Denetleyici konfigürasyon ayarları
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD

#use delay (clock=4000000) // Gecikme fonksiyonu için kullanılacak osilatör frekansı belirtiliyor.
#use rs232 (baud=9600, xmit=pin_C6, rcv=pin_C7, parity=N, stop=1) // RS232 protokolünün 9600 bit/sn baud hızında olacağını ve
                                                                  // TX,RX uçlarının hangi pinler olacağını tanımlıyor
                                                                  // parity bitinin olmadığını, stop bitinin 1 bit olacağı belirtiliyor


/********* ANA PROGRAM FONKSİYONU********/

void main ( )
{
   setup_psp(PSP_DISABLED);        // PSP birimi devre dışı
   setup_timer_1(T1_DISABLED);     // T1 zamanlayıcısı devre dışı
   setup_timer_2(T2_DISABLED,0,1); // T2 zamanlayıcısı devre dışı
   setup_adc_ports(NO_ANALOGS);    // ANALOG giriş yok
   setup_adc(ADC_OFF);             // ADC birimi devre dışı
   setup_CCP1(CCP_OFF);            // CCP1 birimi devre dışı
   setup_CCP2(CCP_OFF);            // CCP2 birimi devre dışı
   set_tris_b(0x00);
   set_tris_d(0x00);
   output_high(pin_a0);

   while(1) // Sonsuz döngü
   {
   char bufb[20];
   char bufd[20];
   int8 y;
   int8 x;
   x=input_b();
   sprintf(bufb,"a%u",x);
   //puts(bufb);
   delay_ms(200);
   y=input_d();
   sprintf(bufd,"b%u",y);
   delay_ms(200);
   puts(bufb);
   delay_ms(200);
   puts(bufd);
   }
}


Verileri sanal olarak her seri port programı ile çok güzel bir şekilde alıyorum fakat bilgisayara bağladığımda hiçbir gecikme yapmadan 100 tane saçma sapan veriyi gönderiyor ve bağlantıyı kesiyor.Yardımlarınız için şimdiden teşekkürler çok sıkışmış durumdayım.hatta pcbsinide ekliyorum

dk9ky.png
 
rs232 soket bağlantınız ters gibi duruyor. pc ile kullandığınız kabloda çeviriyorsanız bilemem. tx ie rx i yer değiştirip deneseniz
 
bağlantı kesilmiyormuş zaten ama bir süre sonra alım yapmıyordu o sorunu bilgisayar programı ile aştım arada bağlantıyı kesip tekrar bağlıyorum :D
veri alma kısmına gelince sorun bilgisayardan kaynaklanıyormuş benim pc biraz antika olduğundan flash bellek takılıydı arkasında onu çıkarıp devreyi bağlayınca çalıştı :D
 

Yeni mesajlar

Forum istatistikleri

Konular
128,165
Mesajlar
915,609
Kullanıcılar
449,930
Son üye
oguuz680

Yeni konular

Geri
Üst