rf ile data gitmiyor

Başlatan husam685, 23 Şubat 2012, 20:08:41

husam685

selam arkadaşlar rf li devre yapıyorum karsılastıgım sorun devreden data gitmiyor bu nasıl cözebilirim

verici devre kodu :
int a=14;
void main()
{

   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_psp(PSP_DISABLED);
   setup_spi(SPI_SS_DISABLED);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);

   // TODO: USER CODE!!
while(true)
{
putc(a);
delay_ms(250);

}
}



ALICI DEVRE KODU :

#include <lcd.c>
int c;
void main()
{

   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_psp(PSP_DISABLED);
   setup_spi(SPI_SS_DISABLED);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);

   // TODO: USER CODE!!
lcd_init();
while(TRUE)
{
c=getc();
printf(lcd_putc,"\fdeger\n%d",c);
delay_ms(50);
}
}


husam685

arkadaşlar elimde ki alıcı ve verici moduller ERG-11R nin verici de TXD bacagı ile gnd bacagına led bagladım led  yanıyor alıcıyı yerinden oynatınca vericideki bagladım led hızlı hızlı yanıyor ama nedense lcd ekranda hiç birsey yok

-Hasan-

Hocam Preample+Senkron olmadan RF işi olmaz. İlk denememde bunları koymadığımdan baya bir boğuşmuştum. Bir de kullandığınız modüllere göre datayı tersleyip göndermeniz de gerekebilir. Kod aşağıdaki gibi olabilir:

#include <16f877.h>

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES HS                       //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD)
#FUSES PUT                      //Power Up Timer
#FUSES NOBROWNOUT               //No brownout reset
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD                    //No EE protection
#FUSES NOWRT                    //Program memory not write protected
#FUSES NODEBUG                  //No Debug mode for ICD
#FUSES NOPROTECT                //Code not protected from reading

#use delay (clock=20000000)

#use rs232(baud=300,parity=N,xmit=PIN_D0,bits=8,stream=PORT1,invert) // Kullanılacak Pin, Baudrate ve Terseleme Olup Olmayacağı Durumuna Göre Ayarlanır

char preamble[]={0xAA,0xAA,0xAA,0xAA,0xAA,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF}; // Uyandırma Verisi
char senkron[]={0x20,0x30}; // Kontrol Byte ' ları Karşı Taraftan Bunlar Okunacak
char veri[]={"PIC"}; // PIC Karakterleri Karşı Tarafa Gönderilir


void main()
{

   puts(preamble);
   puts(senkron);
   puts(veri);

   while(1);

}

husam685

kardeş bilgi için sagol şimdi söyle birsey var modulleri cıkarttım sırf iki PIC i kablo ile bagladım oldu deme ki devre calısıyor bu moduller i nasıl iletişime gecirecem bilgi verirsen tesekkürler

-Hasan-

Hocam kodda da gösterdiğim gibi; ilk önce Prample+Senkron gidecek:

char preamble[]={0xAA,0xAA,0xAA,0xAA,0xAA,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF}; // Uyandırma Verisi
char senkron[]={0x20,0x30}; // Kontrol Byte ' ları Karşı Taraftan Bunlar Okunacak


Preample ' den sonraki senkron verilerini (burada 0x20, 0x30 farklı da olabilir) karşı taraftan okuduktan sonra gelen datayı alacaksınız. Eğer senkronlar tutmuyorsa o datayı dikkate almazsınız.

Koay gelsin.

husam685

sagolasın tesekkürler denyecem bir kaç içinde

husam685

olmadı ya vericide ki module bagladımled durmadan yanıp sönuyor ama nedense alıcıda hiç birsey yok

demorgan

 Kullandığınız 2 picde aynı frekansdamı çalışıyor ?
Dahili osilatör kullanıyorsanız seri iletişimde sıkıntılar olabiliyor bu yüzden iki tarafda da kristal veya rezanatör kullanın.
Osilaskopta görme imkanınız varsa alıcı ve verici modüllerinizi osilaskopta test edin.
Alıcı ve vericinizin bacak bağlantılarını doğru yaptınız mı ?
Seri iletişimde özellikle rf kullanıyorsanız çalışmamasını sağlayacak pek çok etken var.

husam685

2 picde 4mhz kristalle calısıyor buyuk ihtimal alıcı modulu yanmıs olabilir yarın yeni bi modul alacam cunku modul olmadan iki pic TX ve rx den kablo ile birleştirince calısıyor sorun olmuyor ama ne varsa modulde olmuyor o yuzden yarın bi modul daja alıp deneyecem önrebileceginiz modul var mı ?

husam685

burdaki senkronu biz belirleye biliyormuyuz yani senkron tutmazsa dikkat almazsın dedin ya oyuzden sordum rf de yeniyim mesela basit gercek hayatta calısabilen int degerinde bir sayıyı gönderen uygulama kodu yazarmısın burada paylaşırmısın rica etsem.

aslan_korhan

İletişim hızını fazla yüksek tutma.
Hangi hızda haberleştiğini belirtmemişsin fakat 4800'ü geçme.
Hatta 1200 falan kullan...
Dünyada 10 çeşit insan vardır. Binary bilen ve bilmeyenler.

OG

husam685, aynı konuya 5 tane başlık açıyorsun. Neden aynı başlıktan devam etmiyorsun........
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

husam685

arkadaşlar şimdide alıcı ve vericiye led bagladım ikisinin ledide yanıp yanıp sönüyor ama nedense bir türlü lcd ekranda deger gözükmüyor?

husam685

arkadaşlar lcd ekranda sayılar degişip duruyor sabit degil

ipek

bu konuda pek tecrübeli değilim fakat başıma sizinki gibi bir olay geldi rx tx devresini pullup direnç ile bağladım kusursuz çalıştı
bende modüllere yöneldim nette aradım bazı modüllerin rx bilgisini invert ettiğini öğrendim rx'in çıkışını bir transistör ile invert edince problem çözülmüştü..
sadece bir fikir.........