rf sistemlerle ilgili yardım

stuuf21

Üye
Katılım
13 Eki 2010
Mesajlar
7
Puanları
1
Yaş
33
Basit bir devir sayıcı yaptım ve bunu rf yardımı ile diğer pic deki lcdye atamak istiyorum ama başaramadım.yazdığım kodalar bunlar yardım ederseniz sevirnirim.
verici
Kod:
#include <16F877.h>
#device adc=8

#FUSES NOWDT                     //No Watch Dog Timer
#FUSES XT                        //Crystal osc <= 4mhz for PCM/PCH , 3mhz to 10 mhz for PCD
#FUSES NOPUT                     //No Power Up Timer
#FUSES NOPROTECT                 //Code not protected from reading
#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

#use delay(clock=4000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)

#include "C:\Users\ST\Desktop\CCS denemeler\yeni2\main.h"
#include <LCD.C>

#use fast_io(b)
#use fast_io(c)
#use fast_io(d)

int sayac,i;
float hiz;

void uyandir()
{
printf("0x55");
printf("0x55");
printf("0x55");
printf("0x55");
printf("0x55");

putc('x');
}
void gonder()
{
uyandir();
putc(hiz);

}
#int_ext
void ext_kesmesi()
{
sayac++;
}

#int_timer0
void timer0_kesme()
{
set_timer0(60);
i++;

if(i==20){
hiz=sayac;
sayac=0;
i=0;
printf(lcd_putc,"\f HIZ=%f KM/H" ,hiz);
gonder();
}

clear_interrupt(int_timer0);
}



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_256);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   lcd_init();
   enable_interrupts(INT_EXT);
   enable_interrupts(INT_TIMER0);
   enable_interrupts(GLOBAL);

while(1);

}

alıcı

#include <16F877.h>
#device adc=8

#FUSES NOWDT                     //No Watch Dog Timer
#FUSES XT                        //Crystal osc <= 4mhz for PCM/PCH , 3mhz to 10 mhz for PCD
#FUSES NOPUT                     //No Power Up Timer
#FUSES NOPROTECT                 //Code not protected from reading
#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

#use delay(clock=4000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)


#include <LCD.C>
#use fast_io(d)
#use fast_io(b)
#use fast_io(c)

int gelen;
float hiz;


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);
   lcd_init();

   while(1)
{


if(getc()=='x') //öncü veriyi aldıysan
{
gelen=getc(); //gönderdiğim veriyi al
hiz=gelen;
printf(lcd_putc,"\f HIZ=%f KM/H" ,hiz);

}
}

   

}
 
Moderatör tarafında düzenlendi:
Önce RF modülleri çıkarıp doğrudan kablo ile haberleştirmenizi, başarılı olursanız RF'e geçmenizi tavsiye ederim, yoksa hatanın nerede olduğunu bulmanız zorlaşır.
 
Şu an öle yapıyorum ama genede başaramadım. piclere arasında iletişimi ilk defa deniyorum ama başaramadım şuan..
 

Forum istatistikleri

Konular
128,818
Mesajlar
920,756
Kullanıcılar
450,908
Son üye
mert095

Yeni konular

Çevrimiçi üyeler

Geri
Üst