UDEA alıcı-verici ile veri gonderme?

Katılım
17 Eyl 2009
Mesajlar
7
Puanları
1
Yaş
35
Merhaba arkadaşlar, ben tasarladıgım bir projem icin rf kumanda yapmak istiyorum, assembly dilinde pic i programlamayı yeni ogreniyorum, sadece eksik kaldıgım nokta bir pic ten digerine alıcı-verici arası datayı nasıl gonderebilirim bunu bilmiyorum, udea nın atx-arx 34 alıcı-verici ciftini kullanıyorum.Yardımcı olursanız cok memnun olucagım, bittigindede sizlerlede paylasmak isterim projeyi, şimdiden yardımlarınız icin tesekkür ederim.
 
Udea nın web sayfasında örnekler vardı.
 
web sayfasında assembly ile ilgili ornek yok malesef, bir arkadaş yardımcı olabilirse bana cok memnun olurum, yardımlarınızı bekliyorum arkadaşlar, tesekkür ederim.
 
seri haberleşmeyi yapabiliyorsanız, verici kısımda pic'in tx ucunu vericinin data ucuna, alıcı kısımda da pic'in rx ucunu alıcının data kısmına bağlarsanız işlem tamam olur.
asm dilinde seri haberleşme ile ilgili internette oldukça fazla sayıda örnek mevcut.

yapmaya başladıysanız ve seri haberleşmeyi yaparken takıldığınız yer varsa yardımcı olunabilir.
 
hemen deniycem soyledginizi, kullandıpım pikler verici-16f877 , alıcı-16f628, ikisindede bu pinler mevcut umarım olur dediiniz gibi, şimdi uyguluycam, olmazsa tekrar yazıcağım, tesekkür ederim.

-------------------------------------------------------------------------

ewt dedginizi denedim, ancak baglar baglamaz led yanmaya basladı, normalde benim istedgim yanmaması, butona bastıgımda yanmasıydı.Bastıgımda led in parlaklıgı cok az arttı parmagımı butondan çekerkende anlık söndü.Yanmaya devam ediyorda.Yardımcı olabilirseniz sevinirim.
 
Moderatör tarafında düzenlendi:
Yapmak istediğiniz şey vericideki butona basıldığında alıcıdaki led yansın/sönsün, kontak versin şeklindeyse seri haberleşmeye gerek yok. RF remote decoder entegresini araştırmanızı öneririm. (Ben PT2272M4 kullanıyorum)
 
öncelikle veri göndermeden önce alıcıyı uyandırmak lazım. ben uygulamaları yaparken; vericiden önce 5byte 0xaa, sonra 5byte 0xff sonra da 5byte 0x00 gönderdikten sonra datayı çıkarıyorum. emin ol bu şekilde 75 ila 100 metre arası (açık havada) bilgi gönderiyorum.
 
Tacettin arkadaşım, bana pic16f877(verici pic) - pic16f628(alici pic) herhangi bir uydurukta olsa veri gonderme kodu gonderme sansın warmı, ancak sanırım o sekilde anlayıp devam edebilicegim, tum bilgiler su an karman corman aklımda, cevabını bekliyorum.Cok uyduruk bi veri gondersin bana yeter en basit şekilde yazma şansın warmı ? tesekkür ederim.
 
kodlar ccs c derleyicisinde yazılmıştır. iyi çalışmalar....


verici_____

#INCLUDE <16F876.H>
/*_____________________PİC SİGORTA____________________________*/
/*___________433MHz rf modul programı verici ünitesi__________*/
/*____Tacettin ÇIRACI_____temmuz 2007________________*/
#FUSES NOWDT //No Watch Dog Timer
#FUSES XT
#FUSES NOPUT //No Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#byte porta=5

/*____________________________KRİSTAL______________________________*/
#use delay(clock=4000000)

#use rs232(baud=1200, xmit=PIN_C6,rcv=PIN_C7)


uyandir()
{


printf("0x55");
printf("0x55");
printf("0x55");
printf("0x55");
printf("0x55");

printf("0x00");
printf("0x00");
printf("0x00");
printf("0x00");
printf("0x00");

printf("0xff");
printf("0xff");
printf("0xff");
printf("0xff");
printf("0xff");







putc('x');
}

main()
{
while(1)
{

uyandir();
putc('A');
delay_ms(500);
uyandir();

putc('B');
delay_ms(500);




}

}



alıcı____
#INCLUDE <16F876.H>
/*_____________________PİC SİGORTA____________________________*/
/*___________433MHz rf modul programı alıcı ünitesi__________*/
#FUSES NOWDT //No Watch Dog Timer
#FUSES XT
#FUSES NOPUT //No Power Up Timer
#FUSES NOPROTECT //Code not protected from reading


/*____________________________KRİSTAL______________________________*/
#use delay(clock=4000000)

#use rs232(baud=1200, xmit=PIN_C6,rcv=PIN_C7)
int gelen;
main()
{
set_tris_b(0x00);

OUTPUT_B(0x00);
OUTPUT_B(0x00);
output_high(PIN_B1);

while(1)
{



if(getc()=='x') //öncü veriyi aldıysan
{
gelen=getc(); //gönderdiğim veriyi al
switch (gelen)
{
case 'A': output_high(PIN_B0);break;
case 'B': output_low(PIN_B0);break;
}
}

}

}
 
Assembly dilinde yazma şansın warmı ? , ben c dilinde bilmiyorumda :$, yardımcı olabilirsen yazdığım kodlarında buraya yapıstırabilirim, bişiler yaptım ama hala sorunum war...
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…