hi tech c ile seri port rf iletişimi?

ferdi0435

Üye
Katılım
11 Ara 2010
Mesajlar
10
Puanları
1
Yaş
35
[h=5]iyi günler ...

aşağıda hitech c ile seri port iletişimi yaptım rf aracılıgı ıle alıcıda bır sorun yok cunku verıcı kısmında pınlere led baglayarak bunu test ettım...
sorun şu pc den serı olarak xsol veya xsag gelınce pic wsag veya wsol gonderecek bunu rf olmayınca dırekt kablo ıle cozebılıyorum fakat rfyı uyandırmak ıcın yazdıgım fonksıyonu cagırınca kalk(); fonksiyonunu ıkıncı dongude kıtlenıyor... iflerin içindekı pınlere baglı ledler ile kıtlenmeyı gorebılıyorum..... kalk fonksiyonlarını kaldırınca calısıor fakat bu sefer rf alıcıyı uyandırma ımkanım olmuor ....acaba neden oluor ?




#include <stdio.h>
#include <pic.h>
#include"delay.h"
#include "usart.h"
#include <string.h>
__CONFIG(XT & WDTDIS & PWRTEN & BORDIS & LVPDIS & DUNPROT & WRTEN& DEBUGDIS & UNPROTECT);

/* A simple demonstration of serial communications which
* incorporates the on-board hardware USART of the Microchip
* PIC16Fxxx series of devices. */


void kalk(void)
{
int i;
char uyan[15]={'U','U','U','U','U',255,255,255,255,255,0,0,0,0,0}; //rf modül uyandırma
for(i=0;i<15;i++)
{
putch(uyan);
}

}


void main(void){
int i;

char ver[3];
char al='q';

TRISD=0x00;
PORTD=0x00;

INTCON=0;// purpose of disabling the interrupts.

init_comms(); // set up the USART - settings defined in usart.h

// Output a message to prompt the user for a keypress

while(1){

do
{
al=getch();
}while(al!='x');


for(i=0;i<3;i++)
{
ver=getch();


}

if (strncmp (ver,"sag",2) == 0)//kısa karakter karşılaştırılması 3 sayısı en az kaçtaensin
{ //uygun olması gerektiğini belirtiyor

//kalk(); //bunları kaldırınca calısıor ?????fakat bu sefer rf modulu uyandıramam???


printf("wsag");
PORTD=0;
RD2=1;

}



if (strncmp (ver,"sol",2) == 0)//kısa karakter karşılaştırılması 3 sayısı en az kaçtaensin
{ //uygun olması gerektiğini belirtiyor

//kalk();//bunları kaldırınca calısıor ?????fakat bu sefer rf modulu uyandıramam???

printf("wsol");

PORTD=0;
RD1=1;
}

al='q';

}
}
[/h]
 
Bir de aşağıdaki gibi kullanmayı dene. ;)

void kalk(void)
{
int i;
char uyan[15]={'U','U','U','U','U',255,255,255,255,255,0,0,0,0, 0}; //WakeUpRF
for(i=0;i<15;i++)
{
putchar(uyan);
}
}
 

Forum istatistikleri

Konular
128,214
Mesajlar
915,863
Kullanıcılar
449,995
Son üye
osmanguney15

Yeni konular

Geri
Üst